如何在两台linux服务器之间用RSA键对的方法SSH/SCP不需密码
【摘要】
1。 分别从A和B上登录作为root后运行ssh-keygen,目的是简单地在/root下创建目录.ssh,当提示输入passphase时打入两次回车。
这将生成/root/.ssh/identity and /root/.ssh/identity.pub
2。 先测试一下,从A登录作为root,打入#ssh B,会要求...
1。 分别从A和B上登录作为root后运行ssh-keygen,目的是简单地在/root下创建目录.ssh,当提示输入passphase时打入两次回车。 这将生成/root/.ssh/identity and /root/.ssh/identity.pub 2。 先测试一下,从A登录作为root,打入#ssh B,会要求提示root password。 3。 现在从A登录作为root,运行scp /root/.ssh/identity.pub B:/root/.ssh/authorized_keys。 文件名必须不能弄错。 4。现在再从A运行#ssh B则不需要密码了:) 基本原理:1。 如果你希望从A作为用户user1 SSH 到B 作为用户user2, 若要用RSA键对法认证且不需要密码,则B上的ssh 后台程序拿出~user2/.ssh/authorized_keys中的与A有关的RSA公钥来对A上的以user1身份运行的ssh客户程序 进行挑战,前面我们已经把A上的identity.pub拷贝到B上作为authorized_keys了。则A保持私钥identity,而B 上的sshd又拿出A的公钥来挑战,因此成功,你可以加很多行到authorized_keys以允许其它服务器的公钥可以加 进来。 常见应用举例: 1。 在A上以用户root SSH到B上作为普通用户user而不是root,因为为了安全 ,有时不需要作为root,只需要作 为普通用户不需要密码以完成相应工作即可。 登录作为root在A上 A# scp /root/.ssh/identity.pub user@B:/home/user/.ssh/authorized_keys 2. tar一批文件从A到B。 A# tar cvf - /etc | ( ssh B tar xvf -) 3. 运行A上的cronjob,对某文件作改动后传到B 0 1 * * * cat /etc/shadow | awk -F: {print $1":"$2} | (ssh B cat > /home/passwd) 常见问题: 1。 这种方式的SSH需要B上的sshd_config中允许直接的root login (PermitRootLogin yes). 2. 我有服务器A和其它服务器B,C,D。我想从A SSH到这些服务器但不要自动,最好输入RSA passphase,但太 a. 要A上运行ssh-keygen时输入passphase字。 b. 要登录到A上后运行A#ssh-agent bash c. 再运行ssh-add加passphase进入内存
文章来源: markwcm.blog.csdn.net,作者:黄啊码,版权归原作者所有,如需转载,请联系作者。
原文链接:markwcm.blog.csdn.net/article/details/52151033
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)