Windows 系统上实现 sshpass 方案

sshpass 是 Linux 上的一个免输入密码通过 ssh 登录的方案,可以通过在命令行中指定密码,无需交互的方式完成一些自动化的动作。但是在 Windows 系统中并没有直接提供相关的支持。本篇文章针对这个思路探讨一下其他实现方式。

Win 安装 sshpass

在 github 上已有大神做了相关实现,项目为 sshpass-win32,但是是 win32 版本的,下载后安装即可实现 sshpass 功能。

通过 vbscript 进行相关的实现

vbscript 提供了一些自动化功能可以帮助实现 sshpass 的功能,代码如下:

Dim WshShell 
Set WshShell=WScript.CreateObject("WScript.Shell") 
' 创建一个 cmd 命令终端
WshShell.Run "cmd.exe"
WScript.Sleep 800 
' 输入 ssh root@192.168.1.1
WshShell.SendKeys "ssh root@192.168.1.1" & vbCr
' 休眠 800ms
WScript.Sleep 800 
' 输入密码
WshShell.SendKeys "123456" & vbCr

将上面的代码保存为 sshpass.vbs 文件然后双击执行,即可实现 ssh 免密登录。优点是代码简单,缺点是由于 WshShell.SendKeys 是控制当前系统输入的,所以要求预先将输入法调整为英文,并且脚本运行过程中不能操作系统,否则执行就会报错。

还可以将上面的脚本优化下,这样就可以在命令行中执行了:

Dim WshShell 
Set WshShell=WScript.CreateObject("WScript.Shell") 
' 休眠 800ms
WScript.Sleep 800 
' 输入 ssh root@192.168.1.1
WshShell.SendKeys "ssh " & WScript.Arguments.Item(0) & vbCr
' 休眠 800ms
WScript.Sleep 800 
' 输入密码
WshShell.SendKeys WScript.Arguments.Item(1) & vbCr

上述代码保存为 sshpass.vbs ,然后打开终端,执行 wscript sshlogin.vbs root@172.20.255.38 123456 ,然后稍等片刻,即可获得自动登录的界面。
在这里插入图片描述

通过 Putty 中的 plink 命令实现

Putty 中有个工具 plink ,可以实现免密登录以及执行命令

plink -l root -pw 123456 -P 22 -batch 172.20.251.1
# -l root 指定登录用户名
# -pw 123456 指定登录密码为 123456
# -P 22 指定登录端口为 22
# -batch 禁用交互提示(初次登录可能会导致报错)

在这里插入图片描述

使用 plink 在远程执行一个命令
# 在远程执行 ip addr 命令
plink -l root -pw 123456 -P 22 -batch 172.20.251.1 ip addr
# -l root 指定登录用户名
# -pw 123456 指定登录密码为 123456
# -P 22 指定登录端口为 22
# -batch 禁用交互提示(初次登录可能会导致报错)
使用 plink 在远程执行一个本地脚本

当前文件夹下有一个 script.sh 脚本,如果想要在远程执行该文件的话可以使用以下命令:

plink -l root -pw 123456 -P 22 -batch -m script.sh 172.20.251.1
# -sshlog log_file:将调试日志输出到指定的文件。
# -m file:指定一个文件,其中包含要在远程服务器上执行的命令。这允许批量执行命令。
使用 plink 向远程传输一个本地文件
plink -scp local_file username@hostname:remote_directory
# local_file 是本地系统上的文件路径。
# username 远程服务器上的用户名。
# hostname 是远程服务器的主机名或 IP 地址。
# remote_directory 是远程服务器上的目标目录,文件将上传到该目录中。

示例命令将本地系统上的 local_file 文件上传到远程服务器的 remote_directory 目录中。

请确保具有适当的权限和访问权限来执行文件传输操作。另外,如果远程服务器的 SSH 端口不是默认的 22 端口,可以使用 -P 参数指定正确的端口号。

注意,使用 Plink 进行文件传输时,有可能会收到有关文件权限、目录权限等方面的提示或警告。确保在远程服务器上具有适当的权限来执行所需的文件传输操作。

plink 通过代理访问

是的,Plink 支持代理设置,可以通过一些选项来配置代理服务器。下面是 Plink 中常用的代理设置选项:

  • -proxy[+|-] [proxy-type:]host[:port]:指定代理服务器的类型、主机和端口号。proxy-type 可以是以下之一:httphttpssocks4socks5。使用 + 号表示使用代理,使用 - 号表示不使用代理。例如,-proxy socks5:proxy.example.com:1080 表示使用 SOCKS5 代理服务器 proxy.example.com 的端口号 1080

  • -proxyusername username:指定连接代理服务器时的用户名。

  • -proxypassword password:指定连接代理服务器时的密码。同样,不建议在命令行中明文指定密码。

这些选项允许在连接到远程服务器时通过代理服务器进行通信。可以根据的代理服务器类型和配置选择适当的选项,并提供相应的主机、端口、用户名和密码。

可以通过运行 plink --help 命令或参考 Plink 的官方文档以获取更详细的代理设置选项和说明。

参考资料

  • Windows如何使用批处理命令进行SSH连接并自动输入密码
  • windows下的sshpass替代品
  • plink(1) - Linux man page
  • Using Plink for interactive logins
  • Putty 阿里云镜像站
  • sshpass:一个很棒的免交互 SSH 登录工具

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/314810.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud系列(17)--将服务消费者Consumer注册进Zookeeper

前言:在上一章节中我们把服务提供者Provider注册进了Zookeeper,而本章节则是关于如何将服务消费者Consumer注册进Zookeeper 1、再次创建一个服务提供者模块,命名为consumerzk-order80 (1)在父工程下新建模块 (2)选择模块的项目类型为Maven并…

初步认识Java

Java之父 Java 语言源于 1991 年 4 月,Sun 公司 James Gosling博士 领导的绿色计划(Green Project) 开始启动,此计划最初的目标是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个就是Java的前身: Oak (得…

移动端日志采集与分析最佳实践

前言 做为一名移动端开发者,深刻体会日志采集对工程师来说具有重要意义,遇到问题除了 debug 调试就是看日志了,通过看日志可以帮助我们了解应用程序运行状况、优化用户体验、保障数据安全依据,本文将介绍日志采集的重要性、移动端…

【软件安装】(十六)双系统Ubuntu22.04引导启动菜单的默认项

一个愿意伫立在巨人肩膀上的农民...... 好学的人总是喜欢在电脑上安装双系统,可是安装好系统之后,就会出现默认启动优先级的苦恼,如果在Bios中设置Windows引导启动为优先启动,那么每次想要进如Ubuntu系统就都需要重新设置Bios。如…

一起陪伴走过20多年,XILINX五大系列CPLD/FPGA将于6月截止接单

一起陪伴走过20多年,XILINX五大系列CPLD/FPGA将于6月截止接单 Product Discontinuation Notice AMD/XILINX于2024年春节后,发布了最新的产品停产通知,产品系列包括:XC9500XL, CoolRunner XPLA 3, CoolRunner II, Spartan II, a…

【数据库】Redis

文章目录 [toc]Redis终端操作进入Redis终端Redis服务测试切换仓库 String命令存储字符串普通存储设置存储过期时间批量存储 查询字符串查询单条批量查询 Key命令查询key查询所有根据key首字母查询判断key是否存在查询指定的key对应的value的类型 删除键值对 Hash命令存储hash查…

ssm智能停车场管理系统

视频演示效果: SSMvue智能停车场 摘 要 本论文主要论述了如何使用JAVA语言开发一个智能停车场管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述智能停车…

C++11 数据结构5 队列的概念,队列的顺序存储,实现,测试

一,队列的概念 队列是一种特殊的受限制的线性表。 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列是一种先进先出的t(First In First Out)的线性表,简称FIF…

数组和指针经典笔试题讲解

目录 创作不易,如对您有帮助,还望一键三连,谢谢!!! 1.sizeof和strlen的对比 1.1sizeof 1.2strlen 1.3sizeof和strlen对比 2.数组笔试题讲解 数组名的理解 2.1一维数组 2.2字符数组 题目一&#x…

【skill】usbwebserver的几个问题

试了几个云服务器(华为云、移动10086云),使用usbwebserver均会出现问题。 以前都是找缺少的对应的dll文件,不仅搜索半天、解压、移动复制、同时还要考虑文件的位数 有人说C:\Windows\System32存放的是64位的东西有人说C:\Windows…

Axure设计美观友好的后台框架页

使用Axure设计后台框架页 优点介绍: **1、使用中继器灵活配置菜单项; 2、二级菜单面板跟随一级菜单位置显示; 3、菜单链接打开后,联动添加tab标签; 4、标签页与iframe内容联动,可关闭; 5、左侧…

车道分割YOLOV8-SEG

车道分割YOLOV8-SEG,训练得到PT模型,然后转换成ONNX,OPENCV的DNN调用,支持C,PYTHON,ANDROID开发 车道分割YOLOV8-SEG

Xline中区间树实现小结

Table of Contents 实现区间树的起因区间树实现简介 插入/删除查询重叠操作使用Safe Rust实现区间树 问题Rc<RefCell<T>> i. 线程安全问题其他智能指针 i. Arc<Mutex<T>>? ii. QCell数组模拟指针总结 01、实现区间树的起因 在Xline最近的一次重构中…

苍穹外卖学习笔记(8.用户端历史订单模块,商家端订单管理模块)

目录 一、商家端订单管理模块1、查看历史订单2、查询订单详情3、取消订单4、再来一单5、代码开发6、测试 二、用户端历史订单模块1、订单搜索2、各个状态的订单数量统计3、查询订单详情4、接单5、拒单6、取消订单7、派送订单8、完成订单9、代码开发10、测试 三、校验收货地址是…

逆向案例二十九——复杂扣代码,七某数据(一)

网址&#xff1a;aHR0cHM6Ly93d3cucWltYWkuY24vcmFuaw 抓包分析载荷中有加密参数analysis&#xff1a; 获取数据代码&#xff0c;经过分析&#xff0c;发现analysis确实是校验参数cai&#xff1a; import requestscookies {qm_check: A1sdRUIQChtxen8pI0dAMRcOUFseEHBeQF0JT…

31.Gateway网关-跨域问题

跨域 1.域名不同&#xff1a;www.baidu.com和www.taobao.com,www.taobao.org 2.域名相同&#xff0c;端口不同。localhost:8080和localhost:8081 跨域问题 浏览器禁止请求的发起者与服务端发生跨域ajax请求&#xff0c;请求被浏览器拦截的问题。 解决方案 CORS 浏览器询…

安全开发实战(2)---域名反查IP

目录 安全开发专栏 前言 域名与ip的关系 域名反查ip的作用 1.2.1 One 1.2.2 Two 1.2.3 批量监测 ​总结 安全开发专栏 安全开发实战http://t.csdnimg.cn/25N7H 这步是比较关键的一步,一般进行cdn监测后,获取到真实ip地址后,或是域名时,然后进行域名反查IP地址,进行进…

PySide6 GUI 学习笔记——Python文件编译打包

前面编写的软件工具都必须运行在Python环境中&#xff0c;且通过命令行的方式运行&#xff0c;通过Python打包工具&#xff0c;我们可以把.py文件封装成对应平台的运行文件&#xff0c;供用户执行。 常见Python打包工具 工具简介官网/文档地址py2exe将Python脚本转换为Window…

速卖通自养号测评:如何规避安全风险?

对于初涉电商领域的新卖家而言&#xff0c;进行销量测评显得尤为关键。由于速卖通新店铺往往难以获得平台活动的支持&#xff0c;流量也相对匮乏&#xff0c;因此&#xff0c;开店的首要任务便是进行测评&#xff0c;通过积累一定的评论和销售数据。 测评的益处颇多&#xff0…

【大语言模型LLM】- Meta开源推出的新一代大语言模型 Llama 3

&#x1f525;博客主页&#xff1a;西瓜WiFi &#x1f3a5;系列专栏&#xff1a;《大语言模型》 很多非常有趣的模型&#xff0c;值得收藏&#xff0c;满足大家的收集癖&#xff01; 如果觉得有用&#xff0c;请三连&#x1f44d;⭐❤️&#xff0c;谢谢&#xff01; 长期不…