ssh免密码登录与常见问题

免密码登录

cd ~/.ssh
ssh-keygen -t rsa #然后敲回车
mv id_rsa.pub master_rsa.pub
cat master_rsa.pub >> authorized_keys
scp authorized_keys slave1:~/.ssh
ssh slave1

大致操作原理:

  1. ssh-keygen命令生成私钥和公钥
  2. 公钥复制到需要访问机器的用户的authoritzed_key文件中(默认为~/.ssh,每个用户不同,文件位置可以在/etc/ssh/sshd_config文件中设置)
  3. 登录时,ssh命令以当前用户的私钥登录,登录主机会在登录用户的.ssh/authorited_key文件下查找是否存在公钥,如果存在则不需要输入密码(默认为~/.ssh/id_rsa,改变此文件位置或文件名需要使用-i选项指定

主要可能出现的问题

  1. ssh登录需要使用
  2. 注意用户名的一致,当前用户名与要登录的用户名不一致时需指定用户名,如ssh usr2@machine2
  3. 默认id_rsa如果有文件名或位置改动需要单独指定
  4. ~/.ssh 文件夹权限问题

某些安全设置问题

  1. 默认ssh端口不为22(/etc/ssh/sshd_config中更改,服务器有安全需求考虑时)
  2. root用户不允许远程登录

私钥加密

使用ssh-keygen生成私钥和公钥时,可以指定password phase。

此时登录时需要输入password phase

这种情况避免私钥泄露导致的问题,主要用于安全登录而非免密码登录。

配置文件

/etc/ssh/sshd_config 设置认证方式、端口、root用户登录允许等

修改后重启sshd服务生效

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

网上提到的问题较多,我遇到的问题是 存放的公钥弄错了 ...

原文地址:https://www.cnblogs.com/fly2wind/p/7997683.html