您的位置:

CentOS7配置ssh免密码登录

一、什么是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免密码登录的步骤,虽然相对于输入密码登录来说免密码登录可以省去很多麻烦,但这种方式也有一定的风险,请尽量使用在相对安全的内网环境下。