ssh 和 scp 的密码

Tim*_*Tim 1 cluster ssh scp

(1) 我想上传一些文件到服务器

for (( i=0 ; i < 23 ; i+=1 )); do  
    echo mypassword | scp tim@xxx.xxx.xxx.xxx:project/$i/train10000/finer_search_c_g ~/project/$i/train10000/  
done
Run Code Online (Sandbox Code Playgroud)

我希望通过管道将我的密码传递给 scp,循环将在没有交互的情况下执行。但是它仍然要求我手动输入密码。我应该如何将 mypassword 指定为 scp?

(2)我不使用ssh-keygen生成的认证密钥,因为服务器实际上是一个集群的头节点。我发现如果我使用ssh-keygen生成认证密钥,~/.ssh下的文件会使得节点之间的访问需要密码,我找不到解决办法。在使用身份验证密钥从集群外部访问头节点时,是否可以使用空密码在节点之间进行访问?

感谢致敬!

Ale*_*lst 8

使用密钥文件。将私钥文件放在您的客户端上,并使用 ssh-agent 将密钥文件加载到内存中并解密。将公钥文件放在您要访问的每个系统上。

使用身份验证转发在不同主机之间创建连接,而不会提示进行身份验证。

  • http://superuser.com/questions/8077/how-do-i-set-up-ssh-so-i-dont-have-to-type-my-password/8110#8110 (2认同)