目录
显示
在Linux中,设置免密登录通常使用的是SSH密钥对认证。这种方法不需要在每次登录时输入密码。以下是设置SSH免密登录的步骤:
步骤1:生成SSH密钥对
在客户端机器上(即你要登录的那台机器),使用以下命令生成SSH密钥对:
ssh-keygen -t rsa
执行后会提示你选择保存密钥对的位置,默认是 ~/.ssh/id_rsa
。你可以直接按 Enter
使用默认路径。然后,会提示你输入密码短语(可以留空,直接按 Enter
)。
步骤2:复制公钥到远程服务器
接下来,需要将生成的公钥文件 id_rsa.pub
复制到你要登录的远程服务器上。使用以下命令:
ssh-copy-id user@remote_server_ip
将 user
替换为你在远程服务器上的用户名,将 remote_server_ip
替换为远程服务器的IP地址。系统会要求你输入远程服务器的密码,输入正确后公钥就会自动添加到远程服务器的 ~/.ssh/authorized_keys
文件中。
步骤3:验证免密登录
现在你可以尝试登录远程服务器,而不需要输入密码:
ssh user@remote_server_ip
如果一切设置正确,你应该能够直接登录,而无需输入密码。
注意事项:
- 远程服务器的SSH配置文件(
/etc/ssh/sshd_config
)中应该允许公钥认证(默认是开启的)。可以检查以下选项是否开启:PubkeyAuthentication yes
如果进行了修改,请使用以下命令重启SSH服务:
sudo systemctl restart sshd
- 本地客户端和远程服务器的
~/.ssh
目录权限应为700,authorized_keys
文件权限应为600,否则可能会导致认证失败。
这样就能成功配置Linux系统的免密登录了!