【shell】CentOS7.x上sshpass的安装使用

【shell】CentOS7.x上sshpass的安装使用,第1张

OpenSSH 自带的 ssh 客户端程序(也就是 ssh命令)默认不允许你以非交互的方式传递密码。

很多时候我们在确定安全的情况下,对ssh的交互登录"深恶痛绝",所以就需要进行免密登录。

ssh登陆不能在命令行中指定密码,sshpass的出现,解决了这一问题。

sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次输入密码(嫌悄岩本机known_hosts文件中有的主机才能生效)。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。

ssh命令, 没有指定密码的参数. 以至于在脚本中使用运扒ssh命令的时候, 必须手动输入密码, 才能继续执行. 这样使得脚本的自动化执行变得很差, 尤其当ssh对应的机器数很多的时候, 会令人抓狂.使用非交互式样有两种方式: 一种借助expect脚本, 一种借助sshpass来实现。

# wget https://nchc.dl.sourceforge.net/project/sshpass/sshpass/1.06/sshpass-1.06.tar.gz

# tar  zxf sshpass-1.06.tar.gz

# cd sshpass-1.06

# ./configure  --prefix=/usr/local/

# make &&make install

# yum -y install sshpass

# yum info sshpass

注:如果用rpm的方式安装ansible,sshpass是作为依赖安装的。

# sshpass -h

# sshpass -p "123456" ssh   -o 'StrictHostKeyChecking=no'    root@192.168.1.100

# sshpass -p "123456" ssh  -o 'StrictHostKeyChecking=no'    root@192.168.1.100   -v

注:第一次登陆务必加上   -o 'StrictHostKeyChecking=no'   选项,或者保险起见,每次加上

non-interactive ssh password auth

https://nchc.dl.sourceforge.net/project/sshpass/sshpass/1.06/sshpass-1.06.tar.gz

sshpass 用法举例

https://www.cnblogs.com/nf01/articles/10756100.html

Linux ssh命令芹御详解

https://www.cnblogs.com/ftl1012/p/ssh.html

sshpass的使用方法

https://www.cnblogs.com/misswangxing/p/10637718.html

用expect做服务器的批量互信

https://www.jianshu.com/p/632e7efb59f5

是一种加密的网络传输协议。

可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。SSH最常见的用途是远程登录系悄蚂喊统,人们通常利用SSH来传输命令行界面和远程执行命令。

使用频率最高的场合类Unix系统,但是Windows *** 作系统也能有限度地使用SSH。2015年,微软宣布将在未来的 *** 作系统中提供原生SSH协议支持,Windows 10 1809 版本已提供可手动安装的 OpenSSH工具。

扩展资料

ssh结构

SSH是由客户端和服务端的软件组成的,有两个不兼容的版启野本分别是:1.x和2.x。 用SSH 2.x的客户程序是不能连接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时支持SSH 1.x和2.x。

1、服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。

2、客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。

3、他们的工作机制大致是本地的客户端发送一个连接请求到远程的服务端,服务端检查申请的包和IP地址再发送密钥给SSH的客户端,本地再将密钥发回给服务端,自此连接建立。SSH 1.x和SSH 2.x在连接协议上有一些差异。

SSH被设计成为工作于自己的基础之上而不利用超级服物握务器(inetd),虽然可以通过inetd上的tcpd来运行SSH进程,但是这完全没有必要。

启动SSH服务器后,sshd运行起来并在默认的22端口进行监听(你可以用 # ps -waux | grep sshd 来查看sshd是否已经被正确的运行了)如果不是通过inetd启动的SSH,那么SSH就将一直等待连接请求。当请求到来的时候SSH守护进程会产生一个子进程,该子进程进行这次的连接处理 。

参考资料来源 百度百科-ssh

windows下一般用putty,Putty是最有名的SSH和telnet客户端,由Simon Tatham为Windows平台开发。

Xshell(收费)

Xshell 是一个强大的安全终端模拟迟稿软件,它支持 SSH1, SSH2, 以及 Microsoft Windows 平台的 TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络喊世环境中享受他们的工作。

Putty(开源免费)

PuTTY是一个Telnet/SSH/rlogin/纯TCP以及串行阜连线软件。较早的版本仅支援Windows平台,在最近的版本中开始支援各类Unix平台,并打算移植至Mac OS X上。除了官方版本外,有许多非官方的团体或个人郑旦肢将PuTTY移植到其他平台上,像是以Symbian为基础的移动电话\

SecureCRT (收费)

Secure CRT 是一款SSH客户端软件,通过使用内含的VCP命令行程序可以进行加密文件的传输。

ssh secure shell(免费)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12564191.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存