linux - 使用脚本自动输入 SSH 密码

我需要创建一个脚本,自动将密码输入到 OpenSSH ssh 客户端。

假设我需要使用密码 a1234b SSH 到 myname@somehost

我已经试过了……

#~/bin/myssh.sh
ssh myname@somehost
a1234b

...但这不起作用。

如何将这个功能加入到脚本中?

最佳答案

首先你需要安装sshpass .

  • Ubuntu/Debian:apt-get install sshpass
  • Fedora/CentOS:yum install sshpass
  • Arch:pacman -S sshpass

示例:

sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no YOUR_USERNAME@SOME_SITE.COM

自定义端口示例:

sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no YOUR_USERNAME@SOME_SITE.COM:2400

注意事项:

  • sshpass 也可以在传递 -f 标志时从文件中读取密码。
    • 如果执行 ps 命令,使用 -f 可防止密码可见。
    • 存储密码的文件应具有安全权限。

https://stackoverflow.com/questions/12202587/

相关文章:

linux - ld 找不到现有的库

python - 检查字符串是否仅包含空格

python - 如何从生成器中只选择一项?

python - django 导入错误 - 没有名为 core.management 的模块

linux - 强制卸载 NFS 挂载的目录

linux - 对制表符分隔的文件进行排序

python - 您如何以编程方式设置属性?

linux - 解压目录中的所有文件

linux - httpd : Could not reliably determine the s

python - 如何覆盖 Python 中的 [] 运算符?