Linux之sshpass命令

2024-05-29 08:52
文章标签 linux 命令 sshpass

本文主要是介绍Linux之sshpass命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

sshpass是一个工具,用于通过SSH连接到远程服务器时自动输入密码。它允许您在命令行中指定密码,以便在建立SSH连接时自动进行身份验证。

安装

# 以centos为例
yum install sshpass -y

使用方法

sshpass [-f filename | -d num | -p password | -e] [options]命令选项

-f filename

从文件中获取要使用的密码

-d number

使用number作为获取密码的文件描述符

-p password

提供密码作为参数(安全性不明智)

-e

密码来自环境变量 "SSHPASS"

不带参数

password将从stdin中获取

-P prompt

sshpass搜索哪个字符串来检测密码提示

-v

打印版本信息

-h

显示帮助

-V

打印版本信息

示例

用于sshpass通过SSH登录到远程服务器。假设密码为4u2tryhack。以下是使用sshpass选项的几种方法。

sshpass -p "4u2tryhack" ssh username@rumenz.com
sshpass -p "4u2tryhack" ssh -o StrictHostKeyChecking=no username@rumenz.com使用-f选项(密码应该是文件名的第一行):
echo'4u2tryhack' > pass_file
chmod 0400 pass_file
sshpass -f pass_file ssh username@rumenz.com
sshpass -f pass_file ssh -o StrictHostKeyChecking=no username@rumenz.com使用-e选项(密码应该是文件名的第一行)
SSHPASS='4u2tryhack' sshpass -e ssh username@rumenz.com
SSHPASS ='4u2tryhack' sshpass -e ssh -o StrictHostKeyChecking=no username@rumenz.com示例2:Rsync
sshpass搭配使用rsync:
SSHPASS='4u2tryhack' rsync --rsh="sshpass -e ssh -l username" /rumenz/ rumenz.com:/opt/rumenz/
上面使用了-e选项,该选项将密码传递给环境变量SSHPASS我们可以-f像这样使用开关:
rsync --rsh="sshpass -f pass_file ssh -l username" /rumenz/ rumenz.com:/opt/rumenz/示例3:Scp
使用sshpass与scp:
scp -r /var/www/html --rsh="sshpass -f pass_file ssh -l user" rumenz.com:/var/www/html示例4:GPG
您也可以使用sshpassGPG加密的文件。使用该-f开关时,参考文件为纯文本格式。让我们看看如何使用GPG加密文件并使用它。
首先,创建一个文件,如下所示:
echo '4u2tryhack'> .sshpasswd
接下来,使用以下gpg命令加密文件:
gpg -c .sshpasswd
删除包含明文的文件:
rm .sshpasswd
最后,如下使用它:
gpg -d -q .sshpassword.gpg > pass_file; sshpass -f pass_file ssh root@rumenz.com

分享、在看与点赞
只要你点,我们就是胖友

来自: Linux之sshpass命令icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=Mzk0NTQ3OTk3MQ==&mid=2247486380&idx=1&sn=d123b155a301f72c972edd0514000cfa&chksm=c31583e0f4620af66cf7f294baa381542b4adaa980ed594a2932d3aaad9ac23985fdf420cd54&token=355315523&lang=zh_CN#rd

这篇关于Linux之sshpass命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013206

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

[Linux]:进程(下)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 进程终止 1.1 进程退出的场景 进程退出只有以下三种情况: 代码运行完毕,结果正确。代码运行完毕,结果不正确。代码异常终止(进程崩溃)。 1.2 进程退出码 在编程中,我们通常认为main函数是代码的入口,但实际上它只是用户级