【linux】ssh 远程执行命令自动输入密码方式

article/2025/8/20 8:38:41

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

img

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝

✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 一.自动输入密码
    • 二.sshpass 方式
      • 1.安装 sshpass
      • 2.源码下载
      • 3.安装过程
      • 4.验证
    • 三.expect 方式
        • 1.脚本
        • 2.执行

一.自动输入密码

场景:

由于多台机必须要登陆执行命令,需要使用密钥一台台登录,所以每次登陆机器的时候都需要手动输入域账号密码。密码太长且复杂,手动输入容易输错,故使用脚本来做这个事情,实现免输入密码登陆,工作效率大大提升!

解决方法:

  1. 使用 expect
  2. 使用 sshpass
  3. 结合 alfred 可以快速一键登录
  4. 也可以使用 electerm 进行登录

对于我自己而言的话,用的最爽的还是使用 sshpass+alfred 一键登录,先安装 sshpass,然后使用命令

sshpass -p 你的密码 ssh -A -g yourname@ip

登录到服务器,然后再执行脚本,部署自己的应用或者博客,登录服务器的命令用 alfred 的 workflow 来执行,方便快捷

后续使用 cicd 来部署,每次提交即可进行部署,不用登录到服务器即可部署.

二.sshpass 方式

1.安装 sshpass

sshpass 是一个实用工具,它提供了一种自动化 SSH 密码认证的方式。它允许你将密码作为命令行参数或通过环境变量传递给 SSH 命令,从而在非交互式方式下进行 SSH 登录。

使用 sshpass 可以方便地批量管理多台服务器,同时也可以将其用于自动化脚本或任务中,从而减少手动输入密码的繁琐。需要注意的是,使用 sshpass 可能会存在一定的安全风险,因此在使用时需要谨慎考虑。

不能使用命令安装,会报错,使用源码安装.

使用方式:

sshpass -p 'password' ssh user@host

其中 -p 参数指定密码,user@host 是要登录的目标服务器地址和用户名。使用上述命令后,sshpass 将会自动完成 SSH 登录过程,而无需手动输入密码。

除了使用命令行参数外,你也可以将密码保存在环境变量中,然后通过 $ENV_VAR 的方式引用它,例如:

export SSHPASS='password'
sshpass -e ssh user@host

其中 -e 参数指示 sshpass 使用环境变量传递密码。在这种方式下,你需要事先将密码保存在 $SSHPASS 环境变量中。

需要注意的是,使用 sshpass 存在一定的安全风险,因为密码会以明文方式传递,容易被恶意程序截获。因此,在使用 sshpass 时,应尽可能避免将密码保存在脚本中,或者将其保存在安全加密的文件中。另外,如果可能的话,建议使用 SSH 公钥认证方式来代替密码认证。

2.源码下载

#源码下载
https://sourceforge.net/projects/sshpass/

3.安装过程

#解压缩#安装
cd sshpass-1.08#执行配置文件
./configure#编译
make#编译安装
make install

4.验证

#查看版本
sshpass -V#登录服务器
sshpass -p 你的密码 ssh -A -g yourname@ip

三.expect 方式

首先我们创建以一个文本文件,命名为 proxy.expect,内容如下:

1.脚本

使用脚本一键登录服务器

#!/usr/bin/expect# 设置超时时间,单位秒
set timeout 10# 主要功能是给ssh运行进程加个壳,用来传递交互指令
# ssh -A 是转发密钥设置,用于有堡垒机的场景,一般情况下不需要
spawn ssh -A root@120.79.36.53# 判断上次输出结果里是否包含 Password: 的字符串,如果有则立即返回,否则就等待一段时间后返回,这里等待时长就是前面设置的 10秒
expect "Password:"# 发送密码 \r 表示字符串结束
send "xxx.\r"# 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。
# 如果没有这一句登录完成后会退出,而不是留在远程终端上。
interact

2.执行

 expect proxy.expect

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
img


http://chatgpt.dhexx.cn/article/qGM9Hd9o.shtml

相关文章

计算机密码无法输完整,笔记本电脑键盘失灵无法输入密码怎么解决

很多朋友平时在使用笔记本电脑的时候,为了保护个人的隐私安全,通常都会给电脑设置上开机密码,但是当我们的笔记本电脑键盘失灵无法输入字符时,笔记本从关机的状态启动进入输入锁屏密码界面的时候,又能怎样解决呢&#…

Linux之scp命令的介绍以及命令行输入密码参数执行方法和常见问题解决

一、scp命令 scp命令主要用于Linux中不同主机间复制文件和目录。 scp是Linux系统下基于ssh登录进行安全的远程文件拷贝命令。 scp是加密的 二、scp使用方法 2.1、命令格式 scp [参数] [原路径] [目标路径] 命令参数: -p 保留原文件的修改时间,访问时间和…

Linux命令行窗口无法输入密码

今天碰到一个问题,准备下载gcc编译器的,执行了sudo命令下载,但是当要输入密码验证的时候,发现输入密码!!!! 解决:其实不是无法输入密码,是Linux命令行窗口输…

输入密码查看

用burpsuite直接爆破,得到密码是13579,输入密码后flag就出来了

MySQL软件常见操作

1登录MySQL 登录,如果你配置了环境变量就可以winr,在运行框输入cmd,输入登录命令 第一种:直接输入密码 mysql -uroot -p(你的密码没有有括号) 第二种不直接输入密码 mysql -uroot -p 前面两种都是localhost登录 下面是完整版 m…

pycharm码跳转返回上一步

1、打开Toolbar 2、点击箭头就能返回啦

IDEA中看代码时返回上一步快捷键(Mac)

文章目录 IDEA中看代码时返回上一步快捷键(Mac)问题起源解决办法注意事项 IDEA中看代码时返回上一步快捷键(Mac) 问题起源 大家在看代码的时候是不是有遇到这样的问题,下一步到方法中的时候,看完了这个方…

苹果计算机怎么返回上一步操作,iphone12怎么关闭程序,iphone12怎么返回上一步的教程...

相信有很多朋友还不太熟悉iphone12系列的使用方法,今天小编就为大家带来了,iphone12怎么关闭程序,以及iphone12怎么返回上一步的教程,一起看看详细的操作步骤吧! 一、怎么关闭程序 1、第一步解锁手机,点击进…

idea中查看源码时如何返回上一步界面

打开idea中返回上一步界面的操作 左右箭头用于进入和返回

idea返回上一步快捷键无效

idea返回上一步快捷键无效 问题描述问题排查 问题描述 使用idea时返回上一步和前进下一步快捷键失效,ctrlatl向左和ctrlatl向右 问题排查 1.检查intel显卡的快捷键是否禁用,经排查已禁用 2.检查其他应用程序无重复快捷键,例如音乐软件 3.修改intel显…

Idea返回上一步快捷键是什么

点击左上角的File 点击下面的Settings 搜索keymap 在右边输入Back,即可查看idea返回上一步快捷键 这边的快捷键也可以自定义

电脑返回,电脑返回上一步快捷键(ctrl加什么是返回上一步)

尊敬的老铁大家好,这一节课我们接着讲解photoshop软件,我们讲返回上一步操作,很多作品我们不小心设计错了,或者到最后有些地方不满意,还是其他问题,我们可以通过返回上一步的操作,来解决我们的问…

苹果计算机怎么返回上一步操作,iphone12怎么关闭程序-iphone12怎么返回上一步

相信有很多朋友还不太熟悉iphone12系列的使用方法,今天小编就为大家带来了,iphone12怎么关闭程序,以及iphone12怎么返回上一步的教程,一起看看详细的操作步骤吧! 一、怎么关闭程序 1、第一步解锁手机,点击进…

移动端 vue返回上一步

问题1:如何使用点击方式控制当前页面返回到上一个路由页面: 在网上查阅了相关的资料,返回上一目录用到的是 this.$router.go(-1); 将该方法些到返回按钮上,点击触发该方法;具体代码如下: 1.在当前页面添加返回按钮 …

苹果计算机怎么返回上一步操作,iPhone12如何返回上一步 iPhone12返回上一步及关闭程序方法...

iPhone12系列采用全面屏手势导航,是没有返回键的。那么没有Home键的iPhone12如何返回上一步?如何退出APP呢?下面一起来看看吧。 iPhone12返回上一步及关闭程序方法: 返回上一步方法 第一种方法: iPhone12采用全面屏手势…

python中返回上一步操作_返回上一步的快捷键-百度经验

今天小编就来教一教大家返回上一步的快捷键,想知道的赶快来看一看小编下面编写的这些步骤吧。 工具/原料 电脑 Windows7 键盘 极影2.0 方法/步骤 1 首先大家打开我们的电脑,在电脑上随便打开一个页面,开始编辑内容,再进行下一步操作。 2 帮大家编辑到一半,一不小心…

python中撤回上一步_python返回上一步

python代码运行到某一步能返回到前面某一步吗? 有。 Eclipse里编程代码,返回上一步的快捷键是alt+←箭头。 eclipse中几个最重要的快捷键。 代码助手:Ctrl+Space(简体中文操作系统是Alt+/)。 快速修正:Ctrl+1。 单词补全:Alt+/。 打开外部Java文档:Shift+F2。显示搜索对话…

chatgpt赋能python:Python编程中如何退回上一步操作

Python编程中如何退回上一步操作 在Python编程中,退回上一步操作是开发过程中经常遇到的问题。当你不小心输入了错误的代码或者执行了不想要的操作后,可能需要撤销这些更改。这篇文章将介绍几种在Python编程中退回上一步操作的方法。 方法1&#xff1a…

订单与订单项

转载 订单与订单项

商城-下单-订单结算页

商城-下单-订单结算页 2.订单结算页2.1.页面跳转2.2.收货人信息(作业)2.3.支付方式2.4.商品列表2.4.1.购物车信息获取2.4.2.页面渲染2.5.总金额2.6.提交订单2.6.1.页面提交2.6.2.精度损失问题2.订单结算页 2.1.页面跳转 在购物车页面的最下方,有一个去结算按钮: 当点击…