scp输入密码问题

今天查看预发布项目是发现一个问题,代码中使用了ganymed-ssh2-262.jar执行scp远程copy,但发现没有成功,没报错,程序阻塞了

狂搜。。。郁闷的是按照网上说的,做了几遍但是没成功,没办法,冷静,冷静,再试最后一把,奇迹出现,竟然成功了,fuck。

有两台机子10.6.54.232,10.6.54.231,需要建立信任关系

1. 首先在232上执行:ssh-keygen -t rsa

默认在 ~/.ssh下产生id_rsaid_rsa.pub

2. 进入~/.ssh,然后执行:scp ./id_rsa.pub 10.6.54.231:~/.ssh/authorized_keys 

这里需要你输入密码,按照提示输入就好了,来张截图:

之后,执行你自己的scp(例如:scp /home/cargo/ctas/config/pre/*.properties cargo@10.6.54.231:/home/cargo/ctas/config/pre),不再需要密码,232-》231 ok了!

3. 在231上类似 执行以上1,2步骤,我的截图:

ok,到此,232《-》231双向scp不用输入密码

注:使用此方法要求复制的两台计算机用相同的账户名,我这里是cargo

  如果中间操作失败了,可以把.ssh目录下的文件都删了,再重新生成,一端成功后再操作另一端

后记:直接执行scp ./id_rsa.pub 10.6.54.231:~/.ssh/authorized_keys  命令,如果authorized_keys中有内容,可能会导致authorized_keys中值丢失,网上还看了一个命令ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@对方机器IP,不用输authorized_keys路径,直接把id_rsa.pub内容追加到authorized_keys中,不错

原文地址:https://www.cnblogs.com/yhzh/p/5007801.html