当我在terminal
中使用以下代码时,它运行良好。
#!/usr/bin/expect -f
spawn scp /Users/Shared/Jenkins/workspace/testslave/XXXXXX aaa@10.XXX.XXX.XX:/tmp/XXXX
expect "*assword:"
send "passwordr"
interact
但是当我将内容复制到Jenkins
时,Jenkins没有将文件复制到destination
,并且没有错误。
一种更简洁的方法是生成一个没有密码短语的公钥/私钥,并将其用作身份验证方法。
步骤如下:
- 通过执行ssh-keygen 生成密钥
- 将公钥(通常是id_rsa.pub)复制到目标主机中用户的.ssh文件夹中。在你的情况下,它似乎是/Users/Shared/Jenkins/。ssh 执行:
scp -i id_rsa /Users/Shared/Jenkins/workspace/testslave/XXXXXX aaa@10.XXX.XXX.XX:/tmp/XXXX