linux免密登录ssh验证配置方法及常见错误解决
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux免密登录ssh验证配置方法及常见错误解决,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1541字,纯文字阅读大概需要3分钟。
内容图文
![linux免密登录ssh验证配置方法及常见错误解决](/upload/InfoBanner/zyjiaocheng/930/580317ee7965455580967e3e42ebd634.jpg)
目标:从服务器A免密登录服务器B
【配置方法】
1.在服务器A生成密钥文件,直接使用以下命令:
ssh-keygen
中间遇到输入内容一路回车即可,完成后会在 ~/.ssh 目录下生成两个文件:id_rsa(私钥文件)和 id_rsa.pub(公钥文件,在服务器B要用到的)
2.登录服务器B,编辑~/.ssh/authorized_keys文件,将服务器A里的~/.ssh/id_rsa.pub内容复制进去保存,并授予权限644。另外~/.ssh目录授权700
vim ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
如果~/.ssh目录不存在,请手动创建,命令为:mkdir ~/.ssh
完成以上两步就可以实现了,如果遇到问题无法连接,请继续往下看:
【常见问题】
1.服务器B没打开公钥登录权限
解决方法:编辑/etc/ssh/sshd_config文件,注意以下几项的值:
PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
编辑完保存,重启sshd服务(ubuntu是ssh ,centos是sshd)
(这些值其实也是默认的,默认也是开启的,如果连不上还是需要检查下)
2.服务器B目录和文件权限
解决方法:检查并设置以下权限
~/.ssh/ 700
~/.ssh/autorized_keys 644
3.服务器B开启了selinux
解决方法:使用以下命令关闭
setenforce 0
并且编辑配置文件(永久关闭)
vim /etc/selinux/config
改变里面的值
SELINUX=disabled
然后保存
4.遇到问题:从A服务器可以免密访问B服务器,但是B访问A却需要输入密码
原因:A服务器有id_rsa 和 id_rsa.pub id_dsa 和 id_dsa.pub 2套文件。B服务器只有 id_dsa 和 id_dsa.pub
解决: 在B服务器也生成id_rsa 和 id_rsa.pub,把B服务器的 id_rsa.pub 写入A服务器 的authorized_keys
5.其他权限问题:
//用户权限
chmod 700 /home/username
//.ssh文件夹权限
chmod 700 ~/.ssh/
// ~/.ssh/authorized_keys 文件权限
chmod 600 ~/.ssh/authorized_keys
内容总结
以上是互联网集市为您收集整理的linux免密登录ssh验证配置方法及常见错误解决全部内容,希望文章能够帮你解决linux免密登录ssh验证配置方法及常见错误解决所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。