【问题标题】:Jenkins SSH From Windows Server To Linux ServerJenkins SSH 从 Windows 服务器到 Linux 服务器
【发布时间】:2020-09-22 06:27:46
【问题描述】:

如何建立从 Jenkins Build Server(Windows) 到 Linux 机器的连接并在 Linux 机器上执行 shell 脚本。请告诉我如何实现。

【问题讨论】:

  • 你尝试过这个建议吗?
  • 不应为我们的环境生成 SSH 密钥。有没有其他办法?
  • 检查更新的答案

标签: jenkins jenkins-pipeline jenkins-plugins


【解决方案1】:

1) 使用 SSH 无密码登录:实现此目的的一种方法是首先在您的 Windows 机器上安装 Git Bash。这还将安装几个帮助实用程序,包括scpssh。一旦你有了这些,你就可以简单地按照here解释的说明进行操作。

从上面的链接粘贴 sn-p 以供参考。

stage('SCP JAR file') {
    steps {
        bat '"c:\\Program Files\\git\\usr\\bin\\ssh.exe" -i "c:\\Users\\tom\\.ssh\\azure\\id_rsa" tom@xy.xyz.xy.xz ls -ltr'
    }
}

2) 使用密码身份验证:使用 SSH 是首选做法,但是,无论出于何种原因,如果这不可行,您可以使用 password 身份验证进行连接。请按以下步骤操作:

a) 在您的 Linux 实例上的 /etc/ssh/sshd_config 文件中将 PasswordAuthentication no 更改为 PasswordAuthentication yes。重启sshd服务。为要连接的用户设置密码。使用passwd 命令。以下链接中提到的所有步骤。

https://aws.amazon.com/premiumsupport/knowledge-center/ec2-password-login/

b) 您可以使用PuTTY 使用密码进行连接。参考这个链接:https://unix.stackexchange.com/questions/116672/running-linux-script-on-remote-linux-system-using-putty

以上链接解释了如何使用文件(包含命令)选项,它还指定了如何使用SSH 部分中的PuTTY Remote command 框运行单个命令。在图中。如下所示,如果我使用用户ubuntu 连接,它将在/home/ubuntu 下创建一个目录abc,之后PuTTY 将立即退出。

使用命令文件选项:putty.exe -ssh user@192.168.1.1 -pw password -m C:\local\file\containing_command


3) 使用plink:可以从here下载可执行文件

如果您希望运行多个命令,请创建一个包含所有命令的文件。例如,

cmds.txt的内容:

hostname
touch file
ls -ltr

命令:

c:\test>plink -ssh centos@xx.xyz.xxy.xyz -pw centos -m cmds.txt

输出:

注意:如果您注意到第一个命令运行而第二个没有运行,请尝试更改命令文件的格式:

first_cmd ; second_cmd

first_cmd
second_cmd

另外,不要忘记在最后一个命令后按Enter。您的文件应如下所示:

【讨论】:

  • 感谢您的建议,我已经从命令提示符执行了上述命令,能够吃腻子,但它再次需要密码。
  • 当我执行 putty.exe -ssh user@192.168.1.1 -pw password 以下命令时,我可以使用 -m 选项登录,但它不起作用
  • 我使用了第一个(没有-m 选项),这对我也有用。在这种情况下,预计 PuTTY 会提示您输入密码。将不得不检查 -m 选项,尽管它为什么不适合你。你得到什么错误?你能粘贴完整的命令吗?
  • 我刚刚尝试使用 plink 选项,它对我有用 plink.exe -ssh user@192.168.1.1 -pw password -m C:\local\file\contain_command。但现在唯一的问题是在“包含命令”中提供命令后我第一次成功运行但第二个命令没有运行我需要在文件中提供任何语法
  • 非常感谢它正在使用提供的步骤。
猜你喜欢
  • 1970-01-01
  • 2016-04-18
  • 2018-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-01
  • 1970-01-01
相关资源
最近更新 更多