sshpass-Linux命令之非交互SSH密码验证

ssh登陆不能在命令行中指定密码。sshpass的出现,解决了这一问题。sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次输入密码。

它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。

下载如下:

https://sourceforge.net/projects/sshpass/

解压,安装

[[email protected] opt]# tar zxvf sshpass-1.06.tar.gz

[[email protected] opt]# cd sshpass-1.06/

[[email protected] sshpass-1.06]# ./configure --prefix=/opt/sshpass

[[email protected] sshpass-1.06]# make

[[email protected] sshpass-1.06]# make install

经过以上步骤,sshpass安装完成,输入命令 sshpass 如出现如下提示即安装成功:

[[email protected] bin]# ./sshpass
Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
-f filename Take password to use from file
-d number Use number as file descriptor for getting password
-p password Provide password as argument (security unwise)
-e Password is passed as env-var "SSHPASS"
With no parameters - password will be taken from stdin

-P prompt Which string should sshpass search for to detect a password prompt
-v Be verbose about what you‘re doing
-h Show help (this screen)
-V Print version information
At most one of -f, -d, -p or -e should be used

用法:

-p password #后跟密码

[[email protected] ~]# sshpass -p 目标机器的root密码 ssh [email protected]地址

-f filename #后跟保存密码的文件名,密码是文件内容的第一行。

[[email protected] ~]# cat 1.txt

123456

[[email protected] ~]# sshpass -f 1.txt  ssh [email protected]地址

 

-e #将环境变量SSHPASS作为密码

[[email protected] ~]# export SSHPASS=123456

[[email protected] ~]# sshpass -e  ssh [email protected]地址

日常用法

sshpass -p user_password ssh -o StrictHostKeyChecking=no [email protected]地址

【-o StrictHostKeyChecking=no 表示远程连接时不提示是否输入yes/no】

使用sshpass远程免密,在远程主机上执行shell命令,如下远程执行命令:touch /opt/file.txt

sshpass -p user_password ssh -o StrictHostKeyChecking=no [email protected]地址 touch /opt/file.txt

[注:shell命令要和sshpass命令写在一行]

原文地址:https://www.cnblogs.com/zy6103/p/12153166.html

时间: 2024-10-10 00:21:16

sshpass-Linux命令之非交互SSH密码验证的相关文章

sshpass之非交互SSH密码验证

SSH登陆不能在命令行中指定密码.sshpass用于非交互SSH的密码验证,一般用在shell脚本中,无须手动输入密码.它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行.文件.环境变量中读取. 一.安装sshpass: 1. 通过源码编译安装 # http://sourceforge.net/projects/sshpass/ 下载地址 $ tar -zxvf sshpass-xx.tar.gz $ ./configure $ make && make ins

Shell命令sshpass非交互SSH密码验证

#安装sshpasssshpass 下载地址:http://sourceforge.net/projects/sshpass/ 下载为一个 tar.gz的压缩包. $ tar -zxvf sshpass-1.05.tar.gz $ cd sshpass-1.05 $ ./configure --prefix=/opt/sshpass #指定安装目录 $ make $ make install $ cp /opt/sshpass/bin/sshpass /usr/bin/ 安装完成 #查看帮助 s

交换机配置ssh密码验证登录方式

交换机配置ssh密码验证登录方式 一.背景: 1.由于PC机串口不支持热插拔,请不要在交换机带电的情况下,将串口插入或者拔出PC机.当连接PC和交换机时,请先安装配置电缆的DB-9端到PC机,再连接RJ-45到交换机:在拆下时,先拔出RJ-45端,再拔下DB-9端. 2.恢复出厂设置的交换机 <H3C>reset saved-configuration 3.重启设备 必须重启才能生效 二.VLAN配置 1.删除vlan 系统模式下:undo vlan ID号 2.创建vlan [H3C]vla

sshpass: 用于非交互的ssh 密码验证

ssh登陆不能在命令行中指定密码,也不能以shell中随处可见的,sshpass 的出现,解决了这一问题.它允许你用 -p 参数指定明文密码,然后直接登录远程服务器. 它支持密码从命令行,文件,环境变量中读取 $> sshpass -h Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters -f filename Take password to use from file -d number Use number as file descr

sshpass 使Linux可以明文参数输入SSH密码

1. sshpass安装1 2. sshpass的参数1 3. sshpass的使用2 这几天配置一台服务器,在某云平台创建云服务器后,生成了巨长.巨复杂的一串密码,在输入几十次密码后,依然是密码错误.这时候就想如果密码是非交互式输入,可以将密码做为参数或从文件输入就太好了.sshpass就是一款密码输入辅助工具,它可以从命令行明文参数.文件或环境变量中指定密码,从而避免交互式密码输入. l sshpass的安装 l sshpass的参数 l sshpass的使用 1. sshpass安装 首先

linux实验之SAMBA共享(密码验证)

一.实验要求 有三个账户smb1.smb2.smb3,都属于users群组 三个账户的linux密码均为1234,samba密码为4321 samba服务分享/home/project目录,资源共享名为project 三个账户可使用project资源,且users群组的成员对project具有写入权限 三个账户在samba服务下均拥有自己的家目录 samba security为user等级 二.服务器配置 安装:yum install -y samba 关闭防火墙:service iptable

开启SUSE Linux的SSH密码登陆

一般来说,刚安装好的SUSE Linux系统默认是可以使用ssh2登陆的,但是不能使用ssh密码登陆.(目前我接触到的suse10.suse11,suse12系统刚安装好都是不支持ssh密码验证登陆的) (1)登陆系统 ① 如果使用的是SecureCRT,Xshell等支持SSH2协议的工具,可以先使用SSH2协议登录系统. ② 如果开启了telnet,也可以使用telnet登陆. ③ 如果有系统管理员权限,直接通过KVM等管理工具操作就行. (2)打开SSH密码登陆,操作如下: 关闭防火墙(和

python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)

1 #-*- coding: utf-8 -*- 2 #批量操作linux服务器(执行命令,上传,下载) 3 #!/usr/bin/python 4 import paramiko 5 import datetime 6 import os 7 import threading 8 def ssh2(ip,username,passwd,cmd): 9     try:10         paramiko.util.log_to_file('paramiko________.log')11  

Linux命令:ssh,scp使用及免密码登录

一.ssh使用: ssh  [email protected] ssh  -l  USERNAME HOST ssh  [email protected] 'COMMAND'  单引号 [[email protected] ~]# ssh 110.119.131.204 #第一次连接需发送主机认证 Theauthenticity of host '110.119.131.204 (110.119.131.204)' can't be established. RSAkey fingerprint