在 Linux 系统中,使用 ssh 实现免密码登录通常涉及以下步骤:
1.生成 ssh 密钥对: 在本地计算机上生成 ssh 密钥对,包括公钥和私钥。公钥用于将其添加到远程服务器上的授权文件中,私钥用于本地身份验证。
ssh-keygen -t rsa
这将生成 RSA 类型的密钥对,默认情况下保存在 ~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)。
2.将公钥添加到远程服务器的授权文件中: 使用 ssh 将本地生成的公钥添加到远程服务器的授权文件中。您可以使用 ssh-copy-id 命令来实现。
ssh-copy-id username@remote_host
这将在远程服务器上的 ~/.ssh/authorized_keys 文件中添加您的公钥。
如果没有 ssh-copy-id 命令,您可以手动将公钥内容复制并追加到远程服务器的 ~/.ssh/authorized_keys 文件中。
3.确认 ssh 配置: 确保远程服务器上的 ssh 配置允许公钥身份验证,并禁用密码身份验证。您可以编辑远程服务器上的 ssh 配置文件 /etc/ssh/sshd_config,确保以下设置:
PubkeyAuthentication yes
PasswordAuthentication no
在修改完配置文件后,记得重新加载 ssh 服务:
sudo systemctl reload sshd
4.测试免密码登录: 现在,您应该可以使用 ssh 进行免密码登录到远程服务器:
ssh username@remote_host
系统应该会使用您的私钥进行身份验证,而不需要输入密码。
通过这些步骤,您就可以在 Linux 系统上配置 ssh 免密码登录了。这样可以增加登录的便利性,并提高安全性,因为不再需要在每次登录时输入密码。请确保在进行配置时遵循安全最佳实践。