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

相关文章

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Linux之软件包管理器yum详解

《Linux之软件包管理器yum详解》文章介绍了现代类Unix操作系统中软件包管理和包存储库的工作原理,以及如何使用包管理器如yum来安装、更新和卸载软件,文章还介绍了如何配置yum源,更新系统软件包... 目录软件包yumyum语法yum常用命令yum源配置文件介绍更新yum源查看已经安装软件的方法总结软

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

Linux:alias如何设置永久生效

《Linux:alias如何设置永久生效》在Linux中设置别名永久生效的步骤包括:在/root/.bashrc文件中配置别名,保存并退出,然后使用source命令(或点命令)使配置立即生效,这样,别... 目录linux:alias设置永久生效步骤保存退出后功能总结Linux:alias设置永久生效步骤

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li