当前位置: 首页 > 编程笔记 >

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

王君墨
2023-03-14
本文向大家介绍bash脚本中将密码传递给ssh/scp命令方法详解,包括了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中就行了

 类似资料:
  • 问题内容: 我想通过bash脚本传递密码(是的,我知道我可以使用ssh密钥,但这不是我想要的)。 我发现了一些正在使用的解决方案,但由于它不是标准的bash工具,所以我想知道是否可以使用管道来实现。 有人可以向我解释为什么是这样的: 要么 不起作用?有可能使其工作吗?也许以不同的进程执行,获取其PID,然后直接向其发送字符串? 问题答案: 由于我的问题没有确切的答案,因此我进行了一些调查,为什么当

  • 问题内容: 我知道不推荐这样做,但是是否可以将用户密码传递给scp? 作为批处理作业的一部分,我想通过scp复制文件,接收服务器当然需要密码,不,我不能轻易地将其更改为基于密钥的身份验证。 问题答案: 您就可以使用一个工具脚本它预期(有得心应手绑定太像Pexpect的为Python)。

  • 问题内容: 对于那些想回复我应该使用SSH密钥的人,请弃权 我试图在bash脚本中使用Expect提供SSH密码。提供密码是可行的,但是我并没有像我应该的那样最终进入SSH会话,它将回溯到bash。 我的剧本: 我的脚本的输出: 我想拥有我的SSH会话,并且只有在退出该会话后才能返回我的bash脚本。我之所以使用bash,是因为我使用了可以选择要连接到的设备的菜单。 谢谢 问题答案: 混合bash

  • 问题内容: 是否可以通过命令行将参数传递给MySQL脚本? 在此示例中,类似于@start_date的内容: 问题答案: 发现在网络上的答案在这里。 基本上,假设我们要运行以下查询: 我们可以这样传递“ start_date”和“ end_date”:

  • 问题内容: 我在通过SSH将响应传递到远程服务器上的bash脚本时遇到问题。 我正在用Python 3.6.5编写程序,该程序将SSH到远程Linux服务器。在此远程Linux服务器上,有一个正在运行的bash脚本,需要用户输入才能填充。无论出于何种原因,我都无法通过SSH从原始python程序传递用户输入,而无法填写bash脚本用户输入的问题。 main.py SSH.py 类中的最后一个是启动

  • 问题内容: 我有一个Linux bash脚本“ myshell”。我希望它读取两个日期作为参数,例如:。我是Java程序员,但不知道如何编写脚本来完成此任务。 脚本的其余部分如下所示: 问题答案: 您在脚本中使用,例如