我有一台登台服务器和一台生产服务器,并且运行相同的 Bitbucket Pipelines,通过 SSH 发送一些命令。不幸的是,我的生产管道总是失败:
Host key verification failed.
我试过了一切,文件夹权限,重新创建密钥,没有任何效果。
最后,通过添加-v
我的ssh
通话,我想我又近了一步,但仍然迷失了方向。
在我的临时服务器上,我看到如下内容:
debug1: Host '$STAGING_SERVER' is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:4
debug1: ssh_rsa_verify: signature correct
构建的其余部分将完美地进行。
然而,在我的生产服务器上,我看到以下内容:
debug1: Host '$PRODUCTION_SERVER' is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:5
debug1: read_passphrase: can't open /dev/tty: No such device or address
debug1: permanently_drop_suid: 0
ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory
Host key verification failed.
所以它看起来像钥匙是在我的生产服务器上找到,但由于某种原因在生产服务器上read_passphrase
被调用。我刚刚创建了一个新的 id_rsa 和 id_rsa.pub 密钥,其中不密码,那么为什么我的生产服务器试图调用呢read_passphrase
?我的ssh_config
和sshd_config
在两台服务器上都是相同的 - 通过检查diff
。
另一种看待它的方式是ssh_rsa_verify
在登台服务器上立即调用,而在生产服务器上read_passphrase
调用。
任何帮助都将不胜感激,这让我发疯!
答案1
哈利路亚!解决了!