以下是在 SUSE 系统中配置 SSH 免密登录的一般步骤:

  1. 在本地机器(发起免密登录的机器)上
  • 生成密钥对:打开终端,执行命令ssh-keygen -t rsa(或ssh-keygen -t dsa等其他算法),然后一路回车,这将在~/.ssh/目录下生成私钥id_rsa和公钥id_rsa.pub
  • 可以查看生成的公钥文件:cat ~/.ssh/id_rsa.pub
  1. 将公钥复制到远程机器(要免密登录到的机器)上
  • 方法一:使用ssh-copy-id命令,如ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host,这会将公钥追加到远程机器的~/.ssh/authorized_keys文件中(如果该文件不存在会自动创建)
  • 方法二:手动复制公钥内容,然后在远程机器上通过文本编辑器打开~/.ssh/authorized_keys文件(如果没有则创建),并将公钥内容粘贴进去,保存文件
  1. 设置文件权限(重要)
  • 确保远程机器上~/.ssh目录权限为 700
  • ~/.ssh/authorized_keys文件权限为 600
  1. 测试免密登录:在本地机器上执行ssh user@remote_host,如果无需输入密码即可登录成功,则说明免密登录配置成功345


一些可能遇到的问题及解决方法:


  • 如果配置后仍然需要密码,检查/etc/ssh/sshd_config文件中相关设置,如是否启用了密码验证等,按照需求进行调整
  • 确保网络连接正常,两台机器之间可以互相通信。