如何在ssh命令中指定密码

Roh*_*rma 18 ssh passwords command-line

我从终端输入:ssh user@ip然后它提示输入密码。
有没有办法在 ssh 命令本身中指定密码?

Kam*_*ski 17

使用sshpass,两种形式之一:

sshpass -ffilename ssh user@ip   # prefer this
sshpass -pPa5sw0rd ssh user@ip   #  avoid this
Run Code Online (Sandbox Code Playgroud)

您的密码位于文件的第一行,filename或者是字面意思Pa5sw0rd。笔记:

  • -p手册中或后面没有空格,但我的 Debian 10 中-f至少1.06 允许这样做;sshpasssshpass可能会也可能不会。
  • 如果您的密码包含 shell 将解释的字符(例如$';),那么您应该在命令行中正确引用它(但不能在文件中)。
  • 避免-p用于chmod 600 filename使文件私有(尽管root 仍然可以访问它)。请阅读手册有关安全注意事项的信息