当使用sshagent
Package 器时,我能够将ssh
插入服务器A和服务器B,但是当使用scp
命令时,我的权限被拒绝
pipeline {
agent {
label 'pipeline'
}
stages {
stage('SSH to remote host') {
steps {
sshagent(credentials: ['myCredentials']) {
sh '''
ssh userBar@server.a hostname -f
ssh userBar@server.a ls -l
ssh userFoo@server.b hostname -f
ssh userFoo@server.b "echo 'hello world' >> thisFile.txt && ls -l"
scp userFoo@server.b:~/thisFile.txt userBar@server.a:~/thisFile.txt
'''
}
}
}
}
}
在运行时,ssh
命令按预期返回,但scp命令会抛出以下内容
+ scp 'userFoo@server.b:~/thisFile.txt' 'userBar@server.a:~/thisFile.txt'
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
1条答案
按热度按时间woobm2wo1#
这是来自scp docs的。看起来scp试图直接从远程主机复制数据。
1.我们需要传递
-3
选项。1.我们可以使用
-A
选项转发远程代理以上两种我都试过了。这两个似乎都在我的设置中工作。