在Linux系统中设置免密登录通常涉及到公钥和私钥认证的配置。以下是设置免密登录的步骤:
-
在客户端生成公钥和私钥对(通常使用ssh-keygen命令)。
-
将公钥复制到服务器的
~/.ssh/authorized_keys
文件中(通常使用ssh-copy-id命令)。 -
确保服务器的
~/.ssh
目录和~/.ssh/authorized_keys
文件的权限是正确的(通常权限应该是700和600)。 -
确保服务器SSH配置文件
/etc/ssh/sshd_config
中允许公钥认证(PubkeyAuthentication yes
)和使用authorized_keys
(AuthorizedKeysFile .ssh/authorized_keys
)。
以下是具体的命令方式配置免密登录(另外一种是通过手动拷贝的方式):
liunx客户端:192.168.197.13
linux服务器:192.168.197.14
登录客户端192.168.197.13,在客户端生成密钥对:
ssh-keygen -t rsa
将公钥复制到服务器192.168.197.14,输入密码回车即可(此处使用的root账号免密的登录):
ssh-copy-id root@192.168.197.14
确保服务器端192.168.197.14文件权限正确:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
确保服务器端192.168.197.14SSH配置允许公钥认证:
# 编辑/etc/ssh/sshd_config文件
nano /etc/ssh/sshd_config
# 确保以下行未被注释且值为yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 重启SSH服务以应用更改
sudo systemctl restart sshd
完成这些步骤后,你应该能够从客户端无密码登录服务器。