linux shell 传输密码,bash脚本中将密码传递给ssh/scp命令方法详解

bash脚本中将密码传递给ssh/scp命令方法详解

发布时间:2020-09-14 02:56:12

来源:脚本之家

阅读:121

作者:laozhang

栏目:服务器

安装SSHPASS

对于大多数最新的操作系统,sshpass软件包在默认软件包存储库中可用。可以使用以下命令在系统上安装它。

在Debian上:

$ sudo apt install sshpass

在CentOS上:

$ yum --enablerepo = epel -y install sshpass

使用SSHPASS

sshspass使用sshspass环境变量存储用户密码。需要首先使用sshspass变量和密码,然后使用此命令。下面是一个使用sshspass的简单shell脚本。

export SSHPASS=ry3AvbWO0oupYX9HCMzp0Axx

sshpass -e scp testfile.csv user@example.com:/uploads/

还可以使用sshpass运行ssh命令,如下所示

sshpass -e ssh user@example.com

shell脚本中解决SCP命令需要输入密码的问题

使用密钥文件。

这里假设主机A(192.168.100.3)用来获到主机B(192.168.100.4)的文件。

在主机A上执行如下命令来生成配对密钥:

ssh-keygen -t rsa

遇到提示回车默认即可,公钥被存到用户目录下.ssh目录,比如root存放在:

/root/.ssh/id_rsa.pub

将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys,

到主机A中执行命令和主机B建立信任,例(假设主机B的IP为:192.168.100.4):

scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys

下面就可以用scp、ssh命令不需要密码来获取主机B的文件了ssh 192.168.100.4 回车就不需要密码了。

注:其实id_rsa.pub内容添加到对方机器的authorized_keys中就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值