我正在尝试通过密码自动化 SSH 登录。我不能使用 expect 命令或 sshpass 等。所以我只能直接使用密码。
在谷歌上进行了大量研究,但没有找到解决方案... :(
请帮助我解决这个问题。
我尝试的代码是:
#!/bin/bash
USERNAME=user1
PASSWORD=abcd1234
HOSTS="server01.mat.us"
ssh ${HOSTS} -l ${USERNAME} -p ${PASSWORD}
我正在尝试通过密码自动化 SSH 登录。我不能使用 expect 命令或 sshpass 等。所以我只能直接使用密码。
在谷歌上进行了大量研究,但没有找到解决方案... :(
请帮助我解决这个问题。
我尝试的代码是:
#!/bin/bash
USERNAME=user1
PASSWORD=abcd1234
HOSTS="server01.mat.us"
ssh ${HOSTS} -l ${USERNAME} -p ${PASSWORD}
OpenSSH ssh
工具不支持在命令行或标准输入中输入密码。同样适用于 scp
和 sftp
文件传输工具,它们会调用 ssh
建立 SSH 连接。我认为这是 OpenSSH 开发者故意做出的决定。你可以选择以下选项:
ssh
并自动响应密码提示。ssh
获取密码,详见这里或这里,或在这里的某些答案中。ssh
,使其按照你的意愿工作。
plink
添加到该列表中。它可以将密码作为参数传递(即使从安全的角度来看,这样做是一个非常糟糕的想法!) - salvaplink
可在 Windows 和 Linux/UNIX 系统中使用。 - salvaplink
的例子吗?每个人都被重定向到这个答案,但没有人分享plink
的样例。有些情况下,远程公司没有预算来设置基于 SSH 密钥的登录。 - user285594