linux中使用ssh或scp时如何跳过RSA key fingerprint输入yes/no

最近编程,用SCP模拟P2P多播,写程序让peer之间自动传送文件,但是SCP公私钥设置完毕后,第一次向另一主机传递文件仍会出现一下提示:

The authenticity of host '111.222.333.444 (111.222.333.444)' can't be established.
RSA key fingerprint is f3:cf:58:ae:71:0b:c8:04:6f:34:a3:b2:e4:1e:0c:8b.
Are you sure you want to continue connecting (yes/no)? 
比较讨厌,因为不知道在c++程序里如何判断这个提示何时出现,从而输入yes.

后来想到了也许scp提供参数,可以跳过这个提示,于是google了一下,果然有外国网友解决了这个问题,链接地址如下:http://superuser.com/questions/125324/how-can-i-avoid-sshs-host-verification-for-known-hosts


做法是使用-o 这个参数,在ssh/scp里加上 -o "StrictHostKeyChecking no" 即可跳过这个yes/no询问,直接进入下一步,例:

scp -o "StrictHostKeyChecking no" 1.txt user@host:1.txt 

另外,新手如果不知道怎么在c++程序里执行linux terminal命令,可以google一下system()或exec()。

转自:http://blog.csdn.net/golzygo/article/details/8311899

你可能感兴趣的:(scp,ssh,rsa,跳过RSA)