Hello! 欢迎来到小浪云!


linux中怎么配置ssh免密码登录


avatar
小浪云 2024-07-15 44


Linux中,可以通过配置ssh免密码登录,也称为ssh公钥认证,来实现在两台机器之间建立安全的、无需密码的ssh连接。以下是配置的基本步骤:

  在客户端生成ssh密钥对:

  1.打开终端(命令行窗口)。

  2.使用以下命令生成ssh密钥对。如果已经有ssh密钥对,可以跳过此步骤。

  ssh-keygen -t rsa -b 2048

  会提示你选择密钥存储位置,默认情况下会存储在~/.ssh/目录中。可以直接按回车键接受默认值。

  3.在生成密钥的过程中,可能会提示你输入密码。你可以选择设置一个密码或直接按回车键跳过。设置密码可以提高安全性。

  4.在~/.ssh/目录中,你会找到生成的两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。

  在服务端配置ssh免密码登录:

  1.登录到目标服务器,将客户端的公钥添加到服务端的~/.ssh/authorized_keys文件中。你可以使用scp、ssh-copy-id等工具,也可以手动将内容粘贴到authorized_keys文件中。

  cat ~/.ssh/id_rsa.pub | ssh user@hostname ‘cat >> ~/.ssh/authorized_keys’

  这里将id_rsa.pub的内容追加到服务端的authorized_keys文件中。

  2.确保服务端的~/.ssh/目录权限设置正确,不要对其他用户可写。

  chmod 700 ~/.ssh

  chmod 600 ~/.ssh/authorized_keys

  3.通过以下命令验证是否可以无密码登录:

  ssh user@hostname

  如果一切设置正确,将直接登录到目标服务器而无需输入密码。

  注意事项:

  在以上步骤中,user是目标服务器上的用户名,hostname是目标服务器的主机名或IP地址。

  在配置过程中,确保目标服务器ssh服务正常运行。

  如果ssh免密码登录仍然无法正常工作,可以通过查看/var/log/auth.log(或类似的系统日志)来获取更多信息,以便排查问题。

  这种方式提高了ssh连接的安全性,并方便了自动化脚本或工具的使用,但请确保私钥的安全存储,不要泄漏给其他人。

相关阅读