1) 使用 SSH 无密码登录:实现此目的的一种方法是首先在您的 Windows 机器上安装 Git Bash。这还将安装几个帮助实用程序,包括scp 和ssh。一旦你有了这些,你就可以简单地按照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。您的文件应如下所示: