问题标签 [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.
linux - 使用 ssh 时如何避免为公钥输入密码
如果我想使用密码,我可以这样做:
但是 sshpass 似乎不适用于公钥。我尝试了以下命令,但失败了:
有什么好的方法吗?
bash - 使用公钥从 SFTP 位置下载文件
以前,我使用SSHPASS
身份验证方法通过用户名/密码而不是公钥从 SFTP 服务器下载了 CSV 文件:
SFTP 服务器现在已经添加了公钥(在我的 Ubuntu 服务器上创建),所以我想更改上面的命令以在没有密码的情况下进行通信。我应该添加/删除哪些选项?
git - 使用 rsync 和 gitlab-ci.yml 同步 Wordpress 主题文件夹
在尝试使用.gitlab-ci.yml
自动将我的主题部署到我的生产服务器时,我收到一个错误:
执行的命令:使用ubuntu:16.04映像
错误结果:
我正在使用完全相同的.gitlab-ci.yml
服务器、FTP 帐户、运行器和 gitlab 托管成功地在其他 git 存储库中自动部署。
唯一改变的是源 git 存储库和/project-folder/
.
老实说,我不知道从哪里开始以及如何追踪这个问题,所以我很高兴有任何建议。
string - docker 容器 - ssh adduser passwd
我已经构建了一个脚本“createcontainer.sh”来自动创建一个容器。我调用脚本如下:
在脚本内部,两个参数被分配给变量,如下所示:
目标是创建容器(可行),使用我在原始映像中创建的“root/originalpassword”组合登录(可行),然后添加可用于访问容器的“newuser/newpass”凭据通过 SSH(这似乎有效,但实际上不起作用)。
createdocker.sh 内部是以下行:
这样做是告诉“createcontainer.sh”脚本使用root和$ORIGINALPASSWORD登录到 $PORT 上容器的 $IP ,自动接受 SSH 主机密钥,然后执行 $SCRIPT,其定义如下:
结果,我的脚本的行为如下:
然后我尝试使用新凭据登录到容器:
我认为我的问题与我的引号(“)和这些引号中变量的评估有关。特别是在 SCRIPT 中以“echo -e”开头。
如果我实际上(没有脚本)手动登录到容器并发出以下命令,一切正常。我能够退出容器而不是使用 newuser/newpass 凭据重新登录,并且我可以很好地进入容器。
请注意,尽管 newpass\nnewpass 用引号 (") 括起来,而在 SCRIPT 中,整个字符串都用引号 (") 括起来,而不是特别是 echo -e 语句。如果有人可以建议如何解决此问题,那将对我有很大帮助。在此先感谢您的帮助。
java - 使用 JCraft Jsch - 执行 sshpass 命令不成功
需要从 machine1 建立到 machine2 的远程 ssh。使用 ssh.but 不成功尝试下面的代码。在 sshpass 请求之前和之后运行文件创建命令以进行验证。文件在 Machine1 中创建,但在 Machine2 中不起作用。请帮忙。有没有其他选择
shell - 与 sshpass 一起使用时出现错误“sudo:不存在 tty 且未指定 askpass 程序”
我想编写一个脚本,我需要在192.168.0.2
不输入密码的情况下从不同的机器获取文件的内容,所以我使用sshpass
了以下命令:
输出 :
我明白了,因为我没有以root
用户身份登录。所以我尝试了:
输出 :
我该怎么办?
bash - 如何使用 sshpass 命令从远程机器获取退出代码
我想在不输入密码的情况下使用 bash 脚本列出远程机器上的文件。
我正在使用以下命令来做到这一点
我想从上述命令中获取退出代码,以了解我的命令 (ls /usr/local) 失败或通过。
怎么做?请帮助我
c - 使用 scp 和 sshpass 处理错误情况
我正在尝试实现用于文件传输的命令行界面命令,它将在内部调用
sshpass -p "密码" scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -r user@remote-machine:/home/QA.txt /home/faadmin/
这里错误处理没有正确发生,当我使用system()
.if 运行此命令时,如果路由不存在用于文件传输,或者有时文件未找到错误,它们会阻止 CLI 命令的执行。所以我在执行后检查返回值上面的 Linux 命令除了 0 和 1 之外没有显示。我怎样才能获得其他返回值?
linux - 使用java启动远程进程
机器 A 使用连接到远程机器 Bsshpass
并且远程机器 B 不能直接ssh
访问,root
所以我通过它连接到它user
并使用sudo
,并且我还禁用了user
他何时使用的密码sudo su
。当命令很简单时,例如ls -lrt /some/dir
我得到了正确的命令输出,但是当我在远程机器上启动服务器/shell 脚本时(服务器不需要时间,而脚本需要 1 分钟运行),会显示输出但 bash 不返回恢复正常(即看起来它正在做一些工作,但我知道服务器已经启动/脚本已经完成)。
使用的命令:
以上工作正常,我得到输出并返回 bash,这样我就可以编写更多命令并做一些事情。
但是,上述操作并没有按预期工作。看起来它正在工作,但不是没有返回 bash,所以我无法进一步编写命令。
我不能共享脚本或服务器程序,因为它是公司的代码。但是服务器代码使用 UNIX 数据报套接字进行通信。
编辑1:
当我尝试
服务器程序正确启动,但脚本没有按预期工作并且没有返回 bash,但是当我按下ENTER
bash 返回时,我知道这意味着什么,但不知道是什么。
编辑2:
我无法将输出重定向到文件,因为我不知道命令总共需要多少时间才能运行,它可能需要一分钟或几分钟。
编辑 3:
我发现了一些很有帮助的东西(我猜)。保留在该机器 B 上的脚本在后台创建了几个进程,因此sshpass
直到所有这些后台进程从机器 B 手动终止后才会返回。一旦这些程序被终止,我们就会得到该输出以及 bash 返回.
编辑4:
该脚本创建 8 个在后台运行的 ppp 会话。
bash - 通过 sshpass 传递多个命令
这是我的需要,我需要登录到服务器并以 root 身份执行命令。
这就是我写的:
问题是 VMQUERY 命令没有以 root 身份执行。任何解决方案都会有所帮助