首页
centos
常用命令linux_系统
Centos后台运行程序命令nohup
CentOS7启用阿里源yum安装Nginx
使用清华大学yum源
使用国内yum源
Linux script(录制) 命令
Linux内核参数中的配置项
Linux 系统生成或重置机器 ID
centos7系统安装
Centos7配置开机自启动脚本
CentOS忘记密码
Linux的服务、程序
系统优化+模板制作
CentOS设置环境变量
CentOS7的systemd
Linux常用命令记录
Centos 7查看系统最近一次启动时间和运行时间
Linux命令 之 watch命令
Centos7下date怎么英文格式输出
linux 使用 rz 和 sz 上传下载文件
Linux下的压缩/解压缩
常用命令linux_文本处理
计划任务crontab
CentOS7 SElinux和防火墙Firewall
Centos firewall-cmd配置软路由
CentOS7系统中使用iptables
iptables配置
iptables基础操作
使用iptables设置端口敲门(port knocking)后转发
Centos7 SSH登录日志分析
CentOS下查看tcp的网络连接状态数 netstat + awk
CentOS7上安装 Fail2Ban防SSH爆破
Fail2Ban开启邮件告警
LDAP
文件存储
ZFS
SSH
CentOS 7 SSH配置免密码登录
CentOS7开启SSH访问配置
删除ssh客户端记录的主机密钥标识(指纹)
sshd启动失败解决
添加用户,设置sudo权限
ssh公钥、机器指纹
ssh客户端提示:找不到对应主机密钥类型
shell脚本
示例:jumpserver一键安装脚本
centos中使用ping日志记录网络通断
盘符挂载硬盘导致重启系统失败
CentOS_网络
centos路由配置
Linux 系统添加永久静态路由
centos 添加删除路由
Linux下使用TC实现网络限流
linux系统下的wifi启动不了
hosts文件配置
网络端口
Centos 网卡命名规则
Centos命令行中nmtui调用图形界面设置网卡
查看CentOS网口的使用带宽
linux抓包工具tcpdump
定时备份删除文件
定时删除n日前的文件
备份指定目录下的文件
检查定时备份是否执行
inotify+rsync实时同步
rsync+lsync
CentOS7 使用SMTP发送邮件
Centos7部署开源SSH蜜罐cowrie
Centos7磁盘相关命令
centos 7 新增硬盘 分区并挂载
centos7加硬盘给根分区扩容--lvm模式
Linux中对lvm逻辑卷分区大小的调整(针对xfs与ext4不同文件系统)
CentOS7挂载4T磁盘
Centos7_NFS
CentOS7挂载samba共享文件夹
vsftpd主动模式和被动模式
CentOS清除旧硬盘格式
CentOS磁盘读写性能测试
硬盘IO查看分析工具iostat
Linux迁移home目录到根目录-需LVM分区
使用 smartctl 命令检查硬盘的状态
lsof列出正在使用某个文件夹
/dev/disk 目录
本文档由 内网文摘 发布,转载请注明出处
-
+
首页
CentOS 7 SSH配置免密码登录
原理 ``` 使用一种被称为"公私钥"认证的方式来进行ssh登录. "公私钥"认证方式简单的解释是 首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa) 然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥 当ssh登录时,ssh程序会使用私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了 ``` 提示 ``` 免登录其实是在本机生成两把锁,一把所谓的公钥是放到要登录的那台服务器上的,其实是一串文本。 被登录的服务器上只会有一个公钥文件,叫authorized_keys。如果被登录的服务器有多个客户端要连上来,就会把每个文本密钥存成一行。 客户端发送到服务器端的密钥文件一定要放到登录用户主目录的~/.ssh这个隐藏目录下, 比如用hadoop用户登录到192.168.102.248服务器,如果hadoop的主目录是/home/hadoop,那么,密钥文件一定是在/home/hadoop/.ssh/下 如果直接将authorized_keys的文件从客户端通过scp或者ssh-copy-id方式发送到服务器端,会覆盖原来的文件,对其他用户有影响,所以发送时要进行改名后合并, ``` ## 步骤 1)服务器端:创建或者修改密钥目录权限 ``` 1. 以hadoop用户登录各服务器。 2. 执行以下命令,修改“.ssh 目录”权限。 chmod 755 ~/.ssh 说明:如果“.ssh”目录不存在,请在/home/hadoop目录执行 mkdir ~/.ssh 命令创建。 ``` 2)客户端:创建公钥和私钥 ``` 1. 以hadoop用户登录本机(假设本机的IP为“192.168.102.247”)。 2. 执行以下命令,进入“.ssh”目录。 cd /home/hadoop/.ssh 3. 执行以下命令后,如果提示,就一直按“Enter”键,直至生成公钥。 ssh-keygen -t rsa ``` 3)centos7作为客户端时 centos7作为客户端:`ssh-copy-id -i root@`要登录的服务器ip ssh-copy-id -i root@192.168.1.1 ssh-copy-id 是一个用于将公钥复制到远程主机的工具。它会将本地计算机上的公钥添加到远程主机用户的 ~/.ssh/authorized_keys 文件中。 4)win10作为客户端时 win10作为客户端:[参考](https://blog.csdn.net/arcticJian/article/details/90443346 "参考") ``` 本地win10系统及自带的SCP工具,工具目录:C:\Windows\System32\OpenSSH 1)在本地win10系统打开命令行工具 2)执行命令:ssh-keygen -t rsa 3)提示输入密码,因为不需要密码,所以不输入直接enter 4)生成公钥和私钥文件默认放在C:\Users\Administrator.ssh 目录下,文件名分别为id_rsa.pub和id_rsa ``` ``` 1. 执行以下命令(假设本机是192.168.102.247),并根据提示输入登录密码,配置免登录。 scp id_rsa.pub hadoop@hadoop2:/home/hadoop/.ssh/authorized_keys_from_hadoop1 执行完成后,目标服务器的/home/hadoop/.ssh/目录下就应该有一个authorized_keys_from_hadoop1文件 ``` 在被登录的服务器上生成公钥, 公钥合并 ``` 1. 登录到要被登录的服务器()进入./ssh目录 cd ~/.ssh 2. 将客户端发送来的公钥文件进行合并 cat authorized_keys_from_hadoop1 >> authorized_keys 说明:如果authorized_keys不存在就会自动创建,如果存在就会追加 ``` 5)验证 ``` 配置免登录完成后,在本机中输入“ssh hadoop@hadoop2” 或者 “ssh hadoop@192.168.102.248” 。 ``` 如果无需输入密码,则表示配置免登录成功。 如果仍需要输入密码,则可能是.ssh目录和文件权限需要修改,看第6步骤。 6) 目录文件权限修改方法 以root用户登录,依次进入服务器、客户端,执行以下权限修改命令。如果还是不行,请重复 配置免登录操作(需要删除公钥和私钥再做一次)。 ``` chown hadoop: ~/.ssh chown hadoop: ~/.ssh/* chmod 700 ~/.ssh chmod 600 ~/.ssh/* ``` 修改权限后在登录,就应该能正常了。 参考链接:https://blog.csdn.net/newstruts/article/details/46424191 ## 实例二 ### 开启使用密钥登录 ``` vim /etc/ssh/sshd_config 中默认有如下设置 AuthorizedKeysFile .ssh/authorized_keys 和 #PubkeyAuthentication yes 删除此行#注释 ``` 重新加载SSH服务以应用更改。 `systemctl reload sshd` ### 添加上公钥 创建钥匙,命令:`ssh-keygen -t rsa`,一路按Y搞定,就会有.ssh目录了 ``` cd .ssh cp id_rsa.pub authorized_keys ``` 这样生成的authorized_keys不仅能完成对自己免密,权限也是对的 然后执行对自己的ssh远程连接,测试可正常免密登录 `ssh 127.0.0.1` `vi .ssh/authorized_keys` 中添加上ssh客户端的公钥 vi中让光标移动到行尾 `$` (Shift + 4 移到末尾) 或 `Shift + a`(移到末尾编辑) 权限没问题可忽略此行:chmod 600 .ssh/authorized_keys 可用root用户查看日志 `tail -f -n200 /var/log/secure` 常见问题 authorized_keys文件权限 查看authorized_keys中的内容是否正确,可以复制到记事本看下,可能是多了空格,或首字母丢失 `cat authorized_keys` [解决CentOS免密失败的问题,以及解决免密问题的排查流程](https://blog.csdn.net/DCTANT/article/details/131659229 "解决CentOS免密失败的问题,以及解决免密问题的排查流程")
local
2024年1月31日 13:46
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 LocalNetwork
LocalNetwork
是由mrdoc开源
LocalNetwork.cn
修改的在线文档系统,作为个人和小型团队的云笔记、文档和知识库管理工具。
如果此文档给你或你的团队带来了帮助,欢迎支持作者持续投入精力更新和维护!内网文摘 & LocalNetwork
>>>主页
logo
logo
下载Markdown文件
分享
链接
类型
密码
更新密码