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

[复制链接] |主动推送
查看25 | 回复0 | 2024-9-11 15:06:38 | 显示全部楼层 |阅读模式
在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连接的安全性,并方便了自动化脚本或工具的使用,但请确保私钥的安全存储,不要泄漏给其他人。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则