编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Linux服务器间ssh免密配置(linux服务器之间免密登录)

wxchong 2024-07-05 01:43:39 开源技术 15 ℃ 0 评论

Linux服务器间ssh免密配置:

1、检查实施版本(ssh版本需一致):

ssh -V

sshd -v

2、【A服务器】:

#查看是否存在ssh

cat ~/.ssh/id_rsa.pub

#以下两种方式,执行命令后,一直回车即可(注意: -m PEM可选,加他是为了解决com.jcraft.jsch.JSchException: invalid privatekey)

ssh-keygen -t rsa -m PEM

ssh-keygen -t rsa

#注意A、B服务器生成方式需保持一致

3、【B服务器】:

#检查是否有/app/username/.ssh/authorized_keys

若无此文件,执行

cat id_rsa.pub >> authorized_keys

#若有,则需要在authorized_keys追加A的公钥:直接复制A服务器id_rsa.pub内容至B服务器authorized_keys尾部即可。

#注意以下目录的权限,不同请修改

chmod 755 /app/username

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

chmod 600 ~/.ssh/id_rsa

4、测试【A服务器是否可以免密登录B服务器】

ssh username@ip?

scp -p /app/xxx/.ssh/id_rsa.pub user@hostip1:/app/username/test

#?提示:免密配置成功后首次登陆不需要输入密码。

#常见问题解答

配置ssh免密码登录后,仍提示输入密码

解决方法:

首先我们就要去查看系统的日志文件

tail /var/log/secure -n 20

发现问题的所在:Authentication refused: bad ownership or modes for file

从字面上可以看出是目录的属主和权限配置不当:SSH不希望用户家目录和~/.ssh目录对组有写权限,通过下面几条命令改下

chmod 755 /app/username

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

chmod 600 ~/.ssh/id_rsa

#注意A、B服务器权限保持一致

然后我们再去登录,就能不用密码进入了。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表