如何从bash自动使用用户名和密码linux ssh

use*_*205 5 linux ssh bash

我正在尝试使用提供的用户名和密码进行 ssh。

限制:
1. 我不想为我试图通过 ssh 连接的每台服务器设置一个公钥。
2. 我不想/无权安装 sshpass 工具。

尝试:

echo examplePassword | ssh exampleUser@exampleServer
ssh exampleUser@exampleServer < password.txt (contains password)
Run Code Online (Sandbox Code Playgroud)

u8s*_*and 5

一个快速的谷歌搜索让我找到了这个堆栈溢出帖子:https : //stackoverflow.com/questions/16928004/how-to-enter-ssh-password-using-bash

虽然我以前没有使用过或尝试过它,但假设您有期望,它看起来绝对合理。

#!/usr/bin/expect -f
spawn ssh user@my.server.com
expect "assword:"
send "mypassword\r"
interact
Run Code Online (Sandbox Code Playgroud)

  • 虽然这确实有效,但将您的密码以纯文本形式存储在文本文件中是一个糟糕的主意。这种确切的情况就是为什么`ssh` 可以选择公钥加密。对于将来找到此答案的任何人,我强烈建议您学习如何设置公钥,而不是打开这个巨大的安全漏洞。 (2认同)