我需要一些Jenkins作业通过ssh对其他一些机器进行shell命令行访问.
我怎样才能做到这一点?
我没有目标服务器的密码[s],但我有一个'密钥'文件,但当我运行以下作业时
ssh -i /path/to/key/file name@someserver some_command
Run Code Online (Sandbox Code Playgroud)
作为shell命令,我得到以下内容:
ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory
Run Code Online (Sandbox Code Playgroud)
ssh_askpass是我和Jenkins用户都无法访问的GUI实用程序.
我没有Jenkins用户的密码(或Jenkins运行的任何密码),因此我无法登录并创建〜/ .ssh/id_dsa文件.
该怎么办?
谢谢.
sti*_*sti 13
Ssh要求输入密码,因为密钥无效或密钥受密码保护.
通过自己运行相同的命令来尝试密钥,找出需要解决的问题.
如果密钥受密码短语保护,您应该删除密码短语,因为没有好的方法可以在Jenkins作业中输入密码短语.你可以做到ssh-keygen -p -f /path/to/key/file.设置空密码短语以删除密码短语.
在非交互式构建作业中使用ssh命令时,您应该使用选项-o BatchMode=yes.您可能还想使用-o StrictHostKeyChecking=no,除非您可以以交互方式进行首次登录并接受主机密钥.
| 归档时间: |
|
| 查看次数: |
21819 次 |
| 最近记录: |