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配置免密登录的主要内容,如果未能解决你的问题,请参考以下文章