我在Git上有一个文件,其中包含以下shell脚本
文件名= Job.sh
echo "Warehouse script starting"
ssh -n username@server_name "mkdir -p ~/directory_name/folder_name/file_name"
在Jenkins的Execute Shell
下我在跑-
sh job.sh
echo命令会在控制台中显示出来。但是这个工作并不是在username@server_name
中执行ssh并创建目录。感谢您的反馈。
1条答案
按热度按时间mwyxok5s1#
在直接连接到Jenkins代理时尝试相同的命令(使用Jenkins在该代理上使用的帐户)
目标是检查该用户(在该服务器代理上)在其
$HOME/.ssh
文件夹中是否具有正确的公钥/私钥对。并仔细检查公钥是否在
servername:~username/.ssh/authorized_keys
中。确保private key is not encrypted,以避免必须处理
ssh-agent
和密码缓存。至少现在,为了测试您的设置。注意:
-n
选项(防止从stdin读取)通常用于在后台执行的ssh命令。在您的情况下可能不需要。还可以尝试在脚本的开头添加
#!/bin/bash -x
(假设您确实有bash
),以便打印执行的所有行。