一、什么是ssh免密码登录
SSH是一种网络协议,用于计算机之间的加密登录。SSH客户端可以连接到远程计算机,也可以在本地计算机上打开一个终端窗口。
SSH免密码登录是在SSH连接中省略了输入账户密码的步骤,直接完成了SSH连接,方便快捷。
二、配置步骤
在CentOS7上配置SSH免密码登录,需要遵循以下几个步骤:
1. 安装ssh服务
yum install openssh-server
默认情况下,安装SSH服务时已启动sshd服务,如果未启动则使用以下命令启动sshd服务。
systemctl start sshd.service
可以使用以下命令查看sshd服务的状态。
systemctl status sshd.service
2. 使用ssh-keygen创建公钥和私钥
使用ssh-keygen命令创建公钥和私钥。
ssh-keygen -t rsa
按照提示一路回车即可,最后会在/home/.ssh目录下生成两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。
3. 将公钥拷贝到目标机器上
使用ssh-copy-id命令将公钥拷贝到目标机器上,目标机器的IP地址为192.168.1.100。
ssh-copy-id -i /home/.ssh/id_rsa.pub root@192.168.1.100
在输入目标机器的密码后,公钥就会成功拷贝到目标机器上。
4. 测试免密码登录
使用ssh命令测试免密码登录,此命令将直接连接到目标机器。
ssh root@192.168.1.100
如果能够无需输入密码登录到目标机器,则说明已经成功配置SSH免密码登录。
三、常见问题解决方法
1. 找不到ssh-keygen命令
如果执行ssh-keygen命令时出现找不到命令的错误,则需要安装openssh-clients包。
yum install openssh-clients
2. 拷贝公钥时需要输入密码
如果在拷贝公钥时需要输入密码,则可能是SELinux设置的问题。使用以下命令关闭SELinux。
setenforce 0
3. 没有.ssh目录
如果没有.ssh目录,则需要手动创建.ssh目录。
mkdir /home/.ssh
四、总结
以上就是在CentOS7上配置SSH免密码登录的步骤,虽然相对于输入密码登录来说免密码登录可以省去很多麻烦,但这种方式也有一定的风险,请尽量使用在相对安全的内网环境下。