1

当我在 中使用以下代码时terminal,它运行良好。

#!/usr/bin/expect -f
spawn scp /Users/Shared/Jenkins/workspace/testslave/XXXXXX aaa@10.XXX.XXX.XX:/tmp/XXXX
expect "*assword:"
send "password\r"
interact

但是当我将内容复制到时Jenkins,詹金斯没有将文件复制到destination,并且没有错误。

4

1 回答 1

1

一种更简洁的方法是生成一个没有密码的公钥/私钥,并将其用作身份验证方法。

步骤是:

  1. 通过执行 ssh-keygen 生成密钥
  2. 将公钥(通常为 id_rsa.pub)复制到目标主机中用户的 .ssh 文件夹中。在您的情况下,它似乎是 /Users/Shared/Jenkins/.ssh
  3. 执行:scp -i id_rsa /Users/Shared/Jenkins/workspace/testslave/XXXXXX aaa@10.XXX.XXX.XX:/tmp/XXXX
于 2013-03-31T10:23:22.367 回答