shell脚本中使用scp无需输入密码

在脚本中需要从远程服务器拖一些备份数据下来,scp命令可以完成这个工作,但是每次需要输入密码,无法自动化。下面这个办法可以生成一个密钥上传到服务器,这样就不用每次输入密码了。

因为涉及两台电脑,为避免混乱,先给他们取个名字,A和B。我们希望在电脑A主动连接电脑B的时候不需要输入密码。

在A上执行如下命令:

ssh-keygen

然后一路回车,顺利的话会生成一个密钥文件,下面将它传到B上的指定位置:

scp ~/.ssh/id_rsa.pub root@server_b:/root/.ssh/authorized_keys

上述命令中的server_b替换成B的IP地址,如果想以其他账号的身份(比如:user1)登录,就把这个文件上传到对应用户的目录下(/home/user1/.ssh/authorized_keys)即可,这次需要输入密码才能上传,上传完成后再次测试。

scp一个其他文件,会发现已经不需要密码了,不止scp不需要,ssh也不需要密码了。
 评论
  方法不行,还的手动输入密码
 发表评论
姓   名: