无法使用 git 配置文件进行 ssh

Unable to ssh using git config file

我知道它被问了很多次,但我无法得到我的问题的答案。 我正在尝试使用配置文件通过 ssh 连接到系统。 配置文件是

Host qa
    HostName 10.218.70.345
    User user
    IdentityFile C:/Users/bean/.ssh/id_rsa.pub
    Port 22

当我运行下面的命令

$ ssh -v qa
OpenSSH_8.0p1, OpenSSL 1.1.1c  28 May 2019
debug1: Reading configuration data /c/Users/bean/.ssh/config
debug1: /c/Users/bean/.ssh/config line 1: Applying options for qa1
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 10.218.70.345 [10.218.70.345] port 22.
debug1: Connection established.
debug1: identity file C:/Users/bean/.ssh/id_rsa.pub type 0
debug1: identity file C:/Users/bean/.ssh/id_rsa.pub-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.0
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
debug1: match: OpenSSH_6.6.1 pat OpenSSH_6.6.1* compat 0x04000002
debug1: Authenticating to 10.218.70.345:22 as 'user'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: aes128-ctr MAC: hmac-sha1 compression: none
debug1: kex: client->server cipher: aes128-ctr MAC: hmac-sha1 compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256     SHA256:CWRMF3n1hQRu6ahabqm/0Ge1KOip6oe/xfJkOUDfRbQ
debug1: Host '10.218.70.345' is known and matches the ECDSA host key.
debug1: Found key in /c/Users/bean/.ssh/known_hosts:10
debug1: rekey out after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 4294967296 blocks
debug1: Will attempt key: C:/Users/bean/.ssh/id_rsa.pub RSA SHA256:Eb8q2RnFhk+geYicdXwjx/8OqHFsf7qJf7QaTbaGs94 explicit
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering public key: C:/Users/bean/.ssh/id_rsa.pub RSA SHA256:Eb8q2RnFhk+geYicdXwjx/8OqHFsf7qJf7QaTbaGs94 explicit
debug1: Server accepts key: C:/Users/bean/.ssh/id_rsa.pub RSA SHA256:Eb8q2RnFhk+geYicdXwjx/8OqHFsf7qJf7QaTbaGs94 explicit
Load key "C:/Users/bean/.ssh/id_rsa.pub": invalid format
debug1: Next authentication method: password
user@10.218.70.345's password:

尝试授予对文件的访问权限,但其中 none 有效。

但奇怪的是当我这样做时 ssh user@<ip_address> 它工作得很好。 有人能告诉我哪里出了问题吗

您需要使用:

IdentityFile C:/Users/bean/.ssh/id_rsa

不是问题中的“id_rsa.pub”:您的配置文件必须提到 private 密钥,而不是 public 密钥。

在您的配置文件中添加 PreferredAuthentications publickey。并且不需要使用 .pub 作为文件格式

例如:

Host github.com
   HostName github.com
   PreferredAuthentications publickey
   IdentityFile ~/.ssh/id_rsa