将文件连贯并传输到近程零碎是系统管理员始终在做的事件。SSH 是 Linux 平台上许多系统管理员应用的根本工具。SSH 反对两种身份验证模式:
- 1. 明码认证
- 2. 公钥认证
公钥认证被认为是这两种办法中最平安的模式,只管明码认证是最风行和最容易的。然而,应用明码验证时,总是要求用户输出明码。这种反复是乏味的。此外,SSH 在外壳程序脚本中应用时也须要手动干涉。如果在应用 SSH 明码身份验证时须要自动化,那么一个简略的工具
sshpass
必不可少。
什么是 sshpass
该
sshpass
实用程序旨在应用键盘交互明码身份验证模式运行 SSH,但以非交互方式运行。SSH 应用间接 TTY 拜访来确保明码的确是由交互式键盘用户收回的。
sshpass
在专用的 TTY 中运行 SSH,让 SSH 认为它是从交互式用户那里获取明码的。
装置 sshpass
您能够
sshpass
应用以下简略命令进行装置:
> yum install sshpass -y
应用 sshpass
在
sshpass
选项之后指定要运行的命令。通常,该命令ssh
带有参数,但也能够是任何其余命令。不过,目前 SSH 明码提醒已硬编码为sshpass
。
sshpass [-f filename | -d num | -p password | -e] [options]
命令选项
-p 明码 明码在命令行中给出。-f 文件名 明码是文件名的第一行。-d number number 是 sshpass 从运行程序继承的文件描述符。从关上的文件描述符中读取明码。-e 明码来自环境变量 "SSHPASS"。
用于 sshpass
通过 SSH 登录到近程服务器。假如明码为4u2tryhack
。以下是应用 sshpass 选项的几种办法。
应用
-p
(这是最不平安的抉择,不应应用):
> sshpass -p "4u2tryhack" ssh username@rumenz.com
-p
在 shell 脚本中应用时,该选项如下所示:
> 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
-f
在 shell 脚本中应用以下选项:
> sshpass -f pass_file ssh -o StrictHostKeyChecking=no username@rumenz.com
应用 -e
选项(明码应该是文件名的第一行)
$ SSHPASS='4u2tryhack' sshpass -e ssh username@rumenz.com
-e
在 shell 脚本中应用时,该选项如下所示:
> 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
您也能够应用
sshpass
GPG 加密的文件。应用该-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
原文链接:https://rumenz.com/rumenbiji/…
微信公众号: 入门小站