SSH配置免密登录

Posted virgosnail

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH配置免密登录相关的知识,希望对你有一定的参考价值。

【参考文章】:linux服务器ssh免密码登录

【参考文章】:ssh分发秘钥时出现错误“Permission denied (publickey,gssapi-keyex,gssapi-with-mic)”

【参考文章】:ssh免密码登录Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 的解决方案!

【参考文章】:ssh配置无密码登录

1. 生成服务器的公钥和私钥文件

  输入命令:ssh-keygen -t rsa

  提示输入点击回车,直到文件生成;

  默认生成的文件在 ~/.ssh 目录下;

  .ssh 文件夹为隐藏文件, ls  -a 即可显示全部文件;

  技术分享图片

2. 将公钥文件内容追加到authorized_keys 文件

  如果没有 authorized_keys 文件,则手动创建;

  然后将 id_rsa.pub 文件内容复制到 authorized_keys 文件;

  cat id_rsa.pub >> a;

  注意 >> 是讲内容重写到文件,> 是将内容追加到文件;

   id_rsa.pub 文件的内容,其中带有当前的用户名,免密登录时需要使用该用户来登录

  技术分享图片

 

3. 修改文件权限

  chmod 700 ~/.ssh

  chmod 644 ~/.ssh/authorized_keys  # 信任文件的权限

  chmod 600 ~/.ssh/id_rsa     # 私钥文件的权限

4. 修改 /etc/ssh/sshd_config 

  下面参数选项没有则手动创建,有注释则取消注释,参数值不符合则修改;

  HostKey /etc/ssh/ssh_host_rsa_key

  RSAAuthentication yes

  PubkeyAuthentication yes

  AuthorizedKeysFile      .ssh/authorized_keys  #公钥文件存储位置

  UsePAM no

  下面参数选项根据自身需要进行修改;

  PasswordAuthentication no     #允许密码认证登录

  PermitRootLogin no      #允许root认证登录

  重启 SSH 服务

  systemctl restart sshd.service

5. 本地免密登录

  ssh 用户名@127.0.0.1

  技术分享图片

6. 远程免密登录

  A服务器下的.ssh 文件下保存了B服务器用户userB的公钥,则userB就可以在B服务器上免密登录服务A了

  想要远程免密登录某个服务器,就把自己的 id_rsa.pub(公钥文件) 追加到某个服务器的  .ssh/authorized_keys 文件中;

  ssh [email protected]

以上是关于SSH配置免密登录的主要内容,如果未能解决你的问题,请参考以下文章

linux配置了免密,如何不使用免密登录

ssh免密登录ssh配置默认端口和指定端口免密登录

Linux——配置服务器间的免密登录

SSH免密登录配置

Windows ssh 免密登录

linux下配置远程免密登录方法教程