【发布时间】:2021-11-29 19:12:14
【问题描述】:
在我的远程服务器上,我所做的只是:
wget https://raw.githubusercontent.com/dokku/dokku/v0.26.6/bootstrap.sh;
sudo DOKKU_TAG=v0.26.6 bash bootstrap.sh
dokku apps:create node-sample
然后在我的本地机器上:
git clone https://github.com/pedropaf/node-sample-dokku
cd .\node-sample-dokku\
git remote add dokku dokku@116.123.123.123:node-sample
ssh-keygen -f vincent
cat vincent.pub | ssh root@116.123.123.123 dokku ssh-keys:add git-deploy
(我在远程服务器上运行 ssh-keys:list 时可以看到 ssh 密钥)
仍然在本地:
ssh-add vincent
然后当我运行时:
git push dokku main
我收到:
dokku@116.123.123.123's password:
我不明白为什么它不建立 ssh 连接而是请求用户密码(不存在的用户)
【问题讨论】:
-
git remote -v dokku dokku@116.123.123.123:node-sample-dokku (fetch) dokku dokku@116.123.123.123:node-sample-dokku (push) origin github.com/pedropaf/node-sample-dokku (fetch) origin github.com/pedropaf/node-sample-dokku(推)
-
我的本地机器 = windows
-
如果你运行
ssh dokku@116.123.123.123 echo test会发生什么? (如果需要密码,请在 ssh 调用中添加-v或多个-v,看看它为什么需要密码。)如果有效,git的唯一原因ssh如果 Git 正在运行将其 ssh 密钥存储在不同位置的不同 ssh 程序,则调用将需要密码。这在 Windows 上很容易发生,因为 Git 带有一个 ssh,以防 Windows ssh 不足。 -
如果这个测试的结果表明 Git 运行的是自己的 ssh 而不是系统的。如果系统一工作(它应该在现代 Windows 上),告诉 Git 运行系统一(根据需要配置
core.sshCommand)。 -
谢谢@torek:我明白了:调试1:SSH2_MSG_SERVICE_ACCEPT 收到调试1:可以继续的身份验证:公钥,密码调试1:下一个身份验证方法:公钥调试1:尝试私钥:/c/Users/Vincent/ .ssh/id_rsa debug1:尝试私钥:/c/Users/Vincent/.ssh/id_dsa debug1:尝试私钥:/c/Users/Vincent/.ssh/id_ecdsa debug1:尝试私钥:/c/Users/Vincent /.ssh/id_ed25519 debug1:尝试私钥:/c/Users/Vincent/.ssh/id_xmss