【发布时间】:2015-10-15 22:19:45
【问题描述】:
在典型的 Unix 系统上,如果我尝试通过管道将原始密码传递给 SSH,我会收到类似
$ echo password | ssh user@host
Pseudo-terminal will not be allocated because stdin is not a terminal.
同样的事情也适用于键盘输入,据我所知,它是通过标准输入以完全相同的方式提供的。
我对将原始密码传递给 SSH 不感兴趣(这太糟糕了,原因太多了,无法列出)
我想了解在这种情况下,来自键盘的标准输入和来自 Unix 管道的标准输入有什么不同。
编辑:我知道 SSH 密钥的存在以及如何使用它们。我也知道将明文密码传递给 ssh 是一个坏主意。这个问题只是关于了解管道的标准输入和键盘的标准输入之间发生了什么不同。
【问题讨论】:
-
你为什么要使用密码?改用基于密钥的身份验证