gpt4 book ai didi

windows - 使用 windows 通过 ssh 连接到 github

转载 作者:可可西里 更新时间:2023-11-01 10:36:28 24 4
gpt4 key购买 nike

我目前正在尝试使用 ssh 在 Windows 上使用 git。我生成了一个 key (使用 ssh-keygen -t rsa)并将公钥添加到 github。不幸的是,每次我连接时都会出现以下内容:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'C:\\Users\\DaGeRe\\.ssh\\id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: C:\\Users\\DaGeRe\\.ssh\\id_rsa
Enter passphrase for C:\Users\DaGeRe\.ssh\id_rsa:

所以,为了让它工作,我已经完成了 chmod 700(就像无数帖子中推荐的那样,例如 SSH Private Key Permissions using Git GUI or ssh-keygen are too open),然后 ls 返回以下内容:

-rw-r--r--    1 DaGeRe   mkpasswd      951 May 20 10:59 id_rsa
-rw-r--r-- 1 DaGeRe mkpasswd 239 May 20 10:59 id_rsa.pub

但不幸的是,ssh-add C:\Users\DaGeRe.ssh\id_rsa 或 ssh -T git@github.com 仍然返回错误。 chmod 命令似乎不起作用,即使 chmod -c 700 id_rsa(就像这里说的:https://superuser.com/questions/397288/using-cygwin-in-windows-8-chmod-600-does-not-work-as-expected)也没有改变任何东西。

尝试使用 Windows(通过设置中的菜单)删除所有权限也不起作用。在 Properties -> Safety(也是我从“Eigenschaften -> Sicherheit”翻译过来的)中添加用户“Everyone”(德语:“Jeder”,该用户在英文窗口中可能有不同的称呼)并拒绝他的任何访问权限后,警告消失。

对于第一个空密码 key ,ssh-add 的输出如下:

C:\Users\DaGeRe\.ssh>ssh-add id_rsa
Enter passphrase for id_rsa:

在此之后,什么也没有显示。但是 ssh-add -l 也什么都不返回:

C:\Users\DaGeRe\.ssh>ssh-add -l
The agent has no identities.

如果我添加一个密码,它总是说密码是错误的,权限错误(所以从一开始的消息出现)和正确的权限(所以没有错误出现,但它仍然说正确的短语是错误)。

我正在为 Windows 使用 OpenSSH 3.8.1,但我没有安装 cygwin。

所以不知何故它似乎没有被添加,即使权限设置正确。如果有人提示如何解决这个问题,我会很高兴。

这是 ssh -vT git@github.com 的输出

OpenSSH_3.8.1p1, OpenSSL 0.9.7d 17 Mar 2004                               
debug1: Reading configuration data /cygdrive/c/Users/DaGeRe/.ssh/config
debug1: Applying options for github.com
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to github.com [192.30.252.130] port 22.
debug1: Connection established.
debug1: identity file "/cygdrive/c/Users/DaGeRe/.ssh/id_rsa" type -1
debug1: Remote protocol version 2.0, remote software version libssh-0.6.0
debug1: no match: libssh-0.6.0
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_3.8.1p1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-sha1 none
debug1: kex: client->server aes128-cbc hmac-sha1 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /cygdrive/c/Users/DaGeRe/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: "/cygdrive/c/Users/DaGeRe/.ssh/id_rsa"
debug1: No more authentication methods to try.
Permission denied (publickey).

最佳答案

经过一些尝试,我找到了解决该问题的方法,使用 Windows 并运行 git:使用 Putty 而不是 OpenSSH。

必须将 GIT_SSH 设置为 Plink(在我的例子中是 SET GIT_SSH=C:\PortablePrograme\putty\PLINK.EXE)并启动页面,如下所述:http://guides.beanstalkapp.com/version-control/git-on-windows.html (如果有一个 ssh-key,它已经创建并添加到例如 github,可以通过转换将其转换为 putty 格式,而不是创建一个新 key )。

我想这只是该问题的一种可能解决方案,如果有人有其他解决方案,我将很高兴。

关于windows - 使用 windows 通过 ssh 连接到 github,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23755930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com