![为什么使用 scp 时文件中的 stdin 不起作用?](https://linux22.com/image/1377520/%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%BF%E7%94%A8%20scp%20%E6%97%B6%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%20stdin%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%9F.png)
我正在尝试使用命令scp
自动输入文件中的密码passwd
scp folder/ [email protected]:./ < passwd
但它不起作用。
我知道我们可以使用无密码 SSH 作为替代方案,但我正在寻找为什么它不起作用的解释。
答案1
我猜是scp
使用getpass
函数来读取密码。从glibc 手册:
如果可能的话,它会尝试连接到真实终端,
/dev/tty
以鼓励用户不要将纯文本密码放在文件中;否则,它会使用stdin
和stderr
。
我正在尝试使用命令scp
自动输入文件中的密码passwd
scp folder/ [email protected]:./ < passwd
但它不起作用。
我知道我们可以使用无密码 SSH 作为替代方案,但我正在寻找为什么它不起作用的解释。
我猜是scp
使用getpass
函数来读取密码。从glibc 手册:
如果可能的话,它会尝试连接到真实终端,
/dev/tty
以鼓励用户不要将纯文本密码放在文件中;否则,它会使用stdin
和stderr
。