为了账号安全,请及时绑定邮箱和手机立即绑定

Shell脚本使用密码自动进行SSH登录

/ 猿问

Shell脚本使用密码自动进行SSH登录

德玛西亚99 2019-11-20 14:40:10

我正在尝试通过使用密码自动进行SSH登录。我不能使用Expect命令或sshpass等。因此,我只能选择直接使用密码。在谷歌做了很多研究,没有得到任何解决方案... :(


请帮我解决一下这个。


我试过的代码是。


#!/bin/bash

USERNAME=user1

PASSWORD=abcd1234

HOSTS="server01.mat.us"

ssh ${HOSTS} -l ${USERNAME} -p ${PASSWORD}


查看完整描述

3 回答

?
慕盖茨9453107

OpenSSH ssh实用程序在命令行或其标准输入上不接受密码。这也适用于scpsftp文件传输实用程序,它们会调用ssh以建立SSH连接。我相信这是OpenSSH开发人员的故意决定。您可以使用以下选项:

  1. 使用SSH密钥而非密码进行身份验证。

  2. 使用sshpass,期待,或类似的工具来自动响应密码提示。

  3. (AB)使用SSH_ASKPASS功能来获取ssh通过运行另一个程序来获取密码,说明这里或这里,或在一些问题的答案在这里。

  4. 获取SSH服务器管理员以启用基于主机的身份验证并使用它。请注意,基于主机的身份验证仅适用于某些网络环境。在此处和此处查看其他说明。

  5. 使用perl,python,java或您喜欢的语言编写您自己的ssh客户端。大多数现代编程语言都有ssh客户端库,您可以完全控制客户端如何获取密码。

  6. 下载ssh源代码,并构建所需版本的修改版本ssh

  7. 使用其他ssh客户端。还有其他ssh客户端可用,包括免费和商业客户端。其中之一可能比OpenSSH客户端更适合您的需求。


查看完整回答
反对 回复 2019-11-20
?
www说

如果可能的话,我建议使用ssh键而不是密码。


此脚本可以帮助您将公钥上传到所需的远程计算机:


https://github.com/aprey10/ssh-authorizer


查看完整回答
反对 回复 2019-11-20
?
慕仰1329654

你可以plink举个例子吗?每个人都将重定向到此答案,但没有人共享plink示例。在某些情况下,远程公司没有预算来设置基于ssh密钥的登录。

查看完整回答
反对 回复 2019-11-20

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信