rsa不需要密码linux,两台linux服务器之间用RSA键对的方法SSH/SCP不需密码

两台linux服务器之间用RSA键对的方法SSH/SCP不需密码

2008-09-08 17:05·

稿源:互联网

JepheWu(吴阿亭)

软硬件环境:

两台linux服务器A和B

都编译安装上最新版的openSSH(建议)

openSSH的默认设置是允许root可以直接login.(PermitRootLoginyes),暂且保留这种设置,我们先考虑如何

用SSH直接从A到B不需要密码,假设用用户root登录到A,想SSH到B也作为root不需要密码。

1。分别从A和B上登录作为root后运行ssh-keygen,目的是简单地在/root下创建目录.ssh,当提示输入

passphase时打入两次回车。这将生成/root/.ssh/identityand/root/.ssh/identity.pub

2。先测试一下,从A登录作为root,打入#sshB,会要求提示rootpassword。

3。现在从A登录作为root,运行scp/root/.ssh/identity.pubB:/root/.ssh/authorized_keys。

文件名必须不能弄错。

4。现在再从A运行#sshB则不需要密码了:)

基本原理:

1。如果你希望从A作为用户user1SSH到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上以用户rootSSH到B上作为普通用户user而不是root,因为为了安全,有时不需要作为root,只需要作

为普通用户不需要密码以完成相应工作即可。

登录作为root在A上

A#scp/root/.ssh/identity.pubuser@B:/home/user/.ssh/authorized_keys

2.tar一批文件从A到B。

A#tarcvf-/etc|(sshBtarxvf-)

3.运行A上的cronjob,对某文件作改动后传到B

01***cat/etc/shadow|awk-F:{print$1":"$2}|(sshBcat>/home/passwd)

常见问题:

1。这种方式的SSH需要B上的sshd_config中允许直接的rootlogin(PermitRootLoginyes).

2.我有服务器A和其它服务器B,C,D。我想从ASSH到这些服务器但不要自动,最好输入RSApassphase,但太

麻烦,怎么办?

a.要A上运行ssh-keygen时输入passphase字。

b.要登录到A上后运行A#ssh-agentbash

c.再运行ssh-add加passphase进入内存

d.再运行sshBorSSHCorSSHD,则不再需要密码,密码对只需输一次

e.最后退出shell前输入ssh-agent-k。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值