二、技术分享
======
1.什么是sshpass
sshpass是一个很棒的免交互SSH登录工具,ssh与sshpass的区别:
-
ssh登录需要与用户进行交互,需要用户输入密码,做了免密除外。
-
sshpass 允许使用-p参数指定明文密码(相对不安全,用户密码可以通过history查到,或导致被泄露)
在大多数情况下,Linux 系统管理员使用 SSH 登录到程 Linux 服务器时,要么是通过密码,要么是无密码 SSH 登录或基于密钥的 SSH 身份验证。
如果你想自动在 SSH 登录提示符中提供密码和用户名怎么办(想跟命令写到一起)?这时 sshpass 就可以帮到你了。
sshpass 是一个简单、轻量级的命令行工具,通过它我们能够向命令提示符本身提供密码(非交互式密码验证),这样就可以通过 cron 调度器执行自动化的 shell 脚本进行对远程服务器的各种操作。
ssh 直接使用 TTY 访问,以确保密码是用户键盘输入的。 sshpass 在专门的 tty 中运行 ssh,以误导 ssh 相信它是从用户接收到的密码。
重要:使用 sshpass 是最不安全的,因为所有系统上的用户在命令行中通过简单的 “history”、“ps” 等命令就可看到密码。因此,如果必要,比如说在生产环境,我强烈建议使用SSH 免密,老套路吃得香。
当然,也可以使用-f参数从指定文件中读取密码
echo ‘password’ >mypasswd.txt
sshpass -f mypasswd.txt ssh user@ip
使用-e参数从环境变量中获取ssh密码
export SSHPASS= “password”
sshpass -e ssh user@ip
2.安装 sshpass
A.在基于 RedHat/CentOS 的系统中,首先需要启用 EPEL 仓库并使用 yum 命令安装它。
yum install sshpass
B.在 Debian/Ubuntu 和它的衍生版中,你可以使用 apt-get 命令来安装。
sudo apt-get install sshpass
C.另外,你也可以从最新的源码安装 sshpass,首先下载源码并从 tar 文件中解压出内容:
1、下载:目前1.0.6是最新版本,下载地址:
wget http://sourceforge.net/projects/sshpass/files/latest/download -O sshpass.tar.gz
2、编译安装
tar -xvf sshpass.tar.gz
cd sshpass-1.06
./configure
make && make install
查看安装成功与否:
sshpass -V
安装可能出现的问题:
No Package sshpass available
解决方式:
sudo yum install epel-release
安装完之后,再次尝试安装sshpass,问题搞定。
3.sshpass用法(不用做免密):
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
结语
小编也是很有感触,如果一直都是在中小公司,没有接触过大型的互联网架构设计的话,只靠自己看书去提升可能一辈子都很难达到高级架构师的技术和认知高度。向厉害的人去学习是最有效减少时间摸索、精力浪费的方式。
我们选择的这个行业就一直要持续的学习,又很吃青春饭。
虽然大家可能经常见到说程序员年薪几十万,但这样的人毕竟不是大部份,要么是有名校光环,要么是在阿里华为这样的大企业。年龄一大,更有可能被裁。
送给每一位想学习Java小伙伴,用来提升自己。
本文到这里就结束了,喜欢的朋友可以帮忙点赞和评论一下,感谢支持!
式。
我们选择的这个行业就一直要持续的学习,又很吃青春饭。
虽然大家可能经常见到说程序员年薪几十万,但这样的人毕竟不是大部份,要么是有名校光环,要么是在阿里华为这样的大企业。年龄一大,更有可能被裁。
送给每一位想学习Java小伙伴,用来提升自己。
[外链图片转存中…(img-v0ykXvuD-1710765266093)]
本文到这里就结束了,喜欢的朋友可以帮忙点赞和评论一下,感谢支持!