问题标签 [sshpass]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
611 浏览

java - 为什么 runtime.exec() 没有执行。当我给出 sshpass 命令时

为什么 runtime.exec() 没有执行。当我给出 sshpass 命令时

但是当我直接在终端中运行这个命令时,它就像在终端中一样工作

0 投票
0 回答
289 浏览

mysql - sshpass 命令将无法识别变量文件

尝试运行此命令时出现错误:

具有讽刺意味的是,因为该文件确实存在于目录中。我认为 sshpass 和引用存在问题,但不确定如何修复它,因为它给出的错误是错误的。

0 投票
1 回答
2191 浏览

shell - sshpass 的安全性

使用 sshpass 有多安全?

我读过很多关于 sshpass 不安全的讨论,因为它将密码存储在日志文件和历史文件中。但是如果我使用以下方式,它会安全吗?

0 投票
1 回答
10774 浏览

docker - Docker RUN 失败并显示“返回非零代码:6”

我的 docker 文件中有以下内容:

但是当我尝试构建我的图像时,它失败了:

但是,如果我删除这些行,构建映像,ssh 到容器上并从 bash 手动运行命令,它会完美运行。

谁能告诉我如何解决这个问题?

0 投票
1 回答
624 浏览

shell - 在远程机器上的 shell 脚本中执行命令并在本地机器上获取输出

stackoverflow 上有类似的问题,但他们要么没有答案,要么使用某种语言(C#、Python 等)。我正在尝试使用 ssh 在远程机器上执行命令并将控制台输出返回到本地机器。以下是我遇到问题的命令:

当我尝试在我的脚本中执行它时,我得到“sshpass:无法运行命令:没有这样的文件或目录”错误。

我想要实现的目标:从服务器获取下载的新文件(电影和电视节目)列表,以便稍后使用 rsync 从服务器中提取它们。

有没有办法只使用密码来实现这一点,还是我必须使用公钥/私钥来访问服务器?

我的本地机器正在使用 Ubuntu 14.04(桌面),而我的服务器正在运行 Raspbian。

0 投票
1 回答
887 浏览

bash - sshpass 和 SU 和命令一起在一个线性查询中

在我的脚本中: 1. 我必须通过用户名和密码对机器执行 ssh 2. 比我必须执行 Su - 用户,它提示输入密码 3. 比我必须运行我的命令,即 ls 。

早些时候,没有第 2 步,我很高兴能够使用 sshpass 并通过我的脚本在单行命令中触发我的查询。像这样的东西。sshpass -p pass user@host "command or ls"

但是现在我在 ssh 之后还有一个额外的步骤来执行 su。所以有人可以帮助我理解,我如何在一行查询中同时使用所有 3 个,即 sshpass、su 和命令。

谢谢

0 投票
1 回答
360 浏览

scala - Scala:使用 ProcessBuilder 时正确的 shell 命令不起作用

我试图在 Scala 中运行一个命令,这个命令是一个 ssh 调用,需要在服务器机器内执行一个 cmd 行,它看起来像

如果我从 Scala 打印这个字符串并直接在 shell 中运行它,它可以正常工作,但是使用

服务器返回错误

有人可以告诉我如何解决吗?谢谢你

更新

println 产生我试图直接在 shell 中运行的查询, cmd !应该运行相同的命令

我在开发过程中使用此解决方案,因为在生产中代码将直接运行到服务器中,我不需要 ssh 调用,但对于开发,我需要从我的电脑上运行服务器上的“程序”

解决了

删除引号就足够了,ssh 将连接参数之后的内容作为在服务器上运行的命令

0 投票
0 回答
3315 浏览

ssh - 使用 sshpass 时权限被拒绝

我正在运行 HP-UX 11.31,尝试使用 sshpass 连接到供应商的系统并使用 sftp 检索文件。当我手动运行 sftp 时,我可以通过输入密码进行连接。因此,该命令sftp $USERID@$SERVER工作正常。供应商的系统提示输入密码$USERID@$SERVER's password:,然后我手动输入密码并获得 sftp 提示。

当我使用 sshpass 时,我收到一个Permission denied (publickey, password)错误。我sshpass -e sftp $USERID@$SERVER << EOF的命令后面是更改目录、检索所需文件和退出的命令。我曾尝试在 sftp 命令中添加BatchMode=noandStrictHostKeyChecking=no参数,但结果是一样的。

我究竟做错了什么?我怎样才能使这项工作?

请不要告诉我执行密钥交换或向我介绍此处涉及的安全问题。我已经知道了。我没有权力改变这种情况。

编辑:这是 sftp -vvv 的输出,根据要求:

它似乎试图发送一个公钥并忽略来自 sshpass 的密码。

0 投票
2 回答
3475 浏览

linux - sshpass 不能与 cron 选项卡一起使用

我有一个带有以下行的脚本

这有效,当我运行脚本时,但如果我将脚本放在 cron 中它不起作用。有任何想法吗 ?

0 投票
2 回答
3316 浏览

shell - 如何在 shell 脚本中使用 sshpass 来检查目录是否存在?

我有一个shell脚本,它基本上在一个环境中运行,它需要检查目录是否存在于另一个环境中。

我尝试了以下两种方式,但没有运气。

方式1:

方式2: