ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux免密登录ssh验证配置方法及常见错误解决

2021-01-23 14:59:01  阅读:195  来源: 互联网

标签:免密 keys rsa pub ssh linux 服务器 id


目标:从服务器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

标签:免密,keys,rsa,pub,ssh,linux,服务器,id
来源: https://blog.csdn.net/aleefang/article/details/113048714

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有