SSHPASS命令

SSHPass是一个实用工具,允许在命令行中指定SSH密码,方便进行远程连接和文件传输。它支持从命令行、文件或环境变量读取密码。通过配置SSH配置文件以禁用主机检查,可以实现无干扰的连接。本文提供了多个实例,包括直接连接主机、指定端口、从文件读取密码和从远程主机拉取文件。
摘要由CSDN通过智能技术生成

目录

前言

一、sshpass简介

1.1 实例1:直接远程连接某台主机: 

 1.2   实例2:远程连接指定ssh的端口:

1.3   实例3:从密码文件读取文件内容作为密码去远程连接主机

1.4 实例4:从远程主机上拉取文件到本地

1.5 实例5:

1.6 源码包安装


前言

 ssh登陆不能在命令行中指定密码,sshpass 的出现,解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。

一、sshpass简介

应用范围: 可以在命令行直接使用密码来进行远程连接和远程拉取文件
使用前提: 对于未连接过的主机。而又不输入yes进行确认,需要进行sshd服务的优化:

# vim /etc/ssh/ssh_config   StrictHostKeyChecking no
# vim /etc/ssh/sshd_config  GSSAPIAuthentication no
UseDNS no

# service sshd  restart

sshpass 命令的安装:

# yum -y install sshpass

1.1 实例1:直接远程连接某台主机: 

命令:sshpass -p xxx ssh root@192.168.161.100
           sshpass -p xxx ssh root@192.168.161.100 'w'  -o StrictHostChecking=no     免输入yes
注:若是第一次连接直接用sshpass -p 123456 ssh root@192.168.161.100会连接不上

实例:本地执行远程机器的命令:

命令: sshpass -p xxx ssh root@192.168.161.100 "ethtool eth0"

 1.2   实例2:远程连接指定ssh的端口:

命令:sshpass -p 123456 ssh -p 1000 root@192.168.161.100         
(当远程主机不是默认的22端口时候)

1.3   实例3:从密码文件读取文件内容作为密码去远程连接主机

命令:sshpass -f xxx.txt  ssh root@192.168.161.100

1.4 实例4:从远程主机上拉取文件到本地

命令: sshpass -p '123456' scp root@host_ip:/home/test/t ./tmp/

1.5 实例5:

sshpass不可以直接接带特殊字符意义的密码,需要转义或者用小括号,或者指定文件的方式来连接都可以规避这个问题。

附录:sshpass的安装
Ubuntu:

apt-get install sshpass

1.6 源码包安装

centos:

# 源码包安装
 wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz 
 tar xvzf sshpass-1.05.tar.gz 
 cd sshpass-1.05.tar.gz 
 ./configure 
 make 
 make install 

# yum安装
yum  -y install sshpass

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值