千家信息网

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

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,安装SSHPASS对于大多数最新的操作系统,sshpass软件包在默认软件包存储库中可用。可以使用以下命令在系统上安装它。在Debian上:$ sudo apt install sshpass在Cen
千家信息网最后更新 2026年11月02日bash脚本中将密码传递给ssh/scp命令方法详解

安装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中就行了

主机 命令 密码 文件 目录 脚本 变量 密钥 用户 系统 软件 软件包 存储 操作系统 公钥 内容 可以使 对方 机器 环境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 深圳九邦互联网科技有限公司 互联网科技公司起名 互联网和科技技术 厦门中拓互联网络科技有限公司 互联网与科技金融数据 互联网络科技有限公司 为想互联网科技 卓越科技(互联网 ) 安徽鑫晟辉互联网科技 哈尔滨秒房互联网科技有限公司 消费医药和互联网科技 工业互联网等科技实现智能化赋能 保险科技服务互联网营销体系 江苏互联网智能科技软件 上海互联网科技公司ppt 易租星互联网科技有限公司 美国五大互联网科技公司市值多少 马化腾互联网科技教学 陕西彩京云互联网科技有限公司 互联网科技官网 互联网巨头反垄断金融科技 金诺互联网科技 科技大学互联网专业好不好 昊天互联网科技有限公司 互联网科技革命什么开始 新兴科技互联网创新大赛颁奖典礼 合肥互联网科技公司公章图片 北京市互联网新科技 美国五大互联网科技公司市值多少
0