如何在不提供密码的情况下使用 scp

如何在不提供密码的情况下使用 scp

我之前问过一个问题这里。我的问题是,我试图通过管道将密码提供给 scp

echo mypassword | scp [email protected]:project/* ~/project/  

但是它仍然要求我手动输入密码。我应该如何在命令中向 scp 指定 mypassword?

我还是不明白其中一条回复。例如,TTY 的输入流是什么?输入流的常见方式有哪些?如何知道命令的 stdin 输入是什么类型的输入流?例如 ssh/scp 的输入流。

答案1

基本上,SSH(以及相关工具,如 SCP 和 SFTP)会探测其输入来自何处,如果不是来自实际用户,它就不会通过该方法接受密码,而是更直接地向用户询问密码或密码短语。

出于安全原因,不建议(并且,IIRC,实际上是不可能的)在命令行上提供您的 SSH 密码,正如您希望的那样。

如果您需要不使用密码登录,则需要配置基于密钥的身份验证,幸运的是这并不困难。有很多不错的教程,快速搜索一下即可找到http://novosial.org/openssh/publickey-auth/它看起来很好地描述了这一点以及其他您可能觉得有用的相关细节。

相关内容