从 OSX 使用密码 1 行 SSH

t q*_*t q 6 ssh terminal macos

我可以使用腻子从我的电脑 ssh,像这样 1 行ssh root@myname.mydomain.us -pw abc123
但是当我从 OSX 终端尝试这个时,我收到一个错误Bad port 'w'

如何使其在 OSX 上工作?

小智 19

ssh 不支持在命令行上传递密码,它将解释-pw为“连接到端口 w”。

为了通过 ssh 进行自动登录,请使用.ssh/authorized_keys

  • 在 OSX 终端上,使用ssh_keygen. 如果您接受默认文件名,您的 ssh 客户端将在连接时自动尝试此密钥。
  • 复制生成的 .pub 文件的内容并将其添加到.ssh/authorized_keys目标主机(例如myname.mydomain.us:~root/.ssh/authorized_keys

如果您的心是通过命令行设置密码,则该expect工具集可用于在运行命令时与 STDIN/STDOUT 进行交互。


nc4*_*4pk 11

使用 OS X 中的内置 SSH 客户端,您尝试做的事情是不可能的。OpenSSH 客户端无法从命令行接受密码。

您收到“错误端口”错误的原因是该-p标志用于指定要连接的端口,而该-pw标志不存在。有关更多详细信息,请参阅手册页

此外,从命令行指定密码几乎总是一个坏主意。您是否考虑过使用公钥身份验证