我正在设置GitLab,并且在过程中遇到了问题。具体来说,https://docs.gitlab.com/ee/user/gitlab_com/index.html#ssh-host-keys-fingerprints 这个链接要求将条目添加到known_hosts
。但是问题在于,当我尝试运行像/.ssh$ .ssh/known_hosts gitlab.com ssh-ed25519 ...
这样的命令时,我会收到错误提示。
我刚刚从头开始设置了这个ssh东西。
我正在设置GitLab,并且在过程中遇到了问题。具体来说,https://docs.gitlab.com/ee/user/gitlab_com/index.html#ssh-host-keys-fingerprints 这个链接要求将条目添加到known_hosts
。但是问题在于,当我尝试运行像/.ssh$ .ssh/known_hosts gitlab.com ssh-ed25519 ...
这样的命令时,我会收到错误提示。
我刚刚从头开始设置了这个ssh东西。
显然我一开始根本就没有那个文件。有办法创建它吗?
首次使用ssh
时,它将会为您创建该文件。
ssh -T git@gitlab.com
The authenticity of host '111.222.333.444 (111.222.333.444)' can't be established.
RSA key fingerprint is f1:cf:58:ae:71:0b:c8:04:6f:34:a6:b2:e4:1e:0c:8b.
Are you sure you want to continue connecting (yes/no)?
回答“是”将创建~/.ssh/known_hosts
文件。
正如chepner在评论中所说,在回答“是”之前,您应该提前获取服务器的实际指纹,并将该指纹与添加到~/.ssh/known_hosts
中的指纹进行比较。
例如,请参见“安全地将主机(例如GitHub)添加到SSH已知主机文件中”。
例如:github.com
确实提供其服务器指纹:将其与ssh-keyscan -t rsa github.com | ssh-keygen -lf -
进行比较。
C:\Users\vonc\git>ssh-keyscan -t rsa github.com | ssh-keygen -lf -
# github.com:22 SSH-2.0-babeld-4cec2db4
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA)
~/.ssh/known_hosts
文件中。
.ssh/known_hosts
是一个要编辑的文件,而不是要运行的命令。 - chepnerssh
将使用它。如果文件未找到,或者您要连接的主机未在文件中找到,ssh
将在确认您要连接后添加该文件。 - chepnerssh
自动生成。但如果你想编辑,任何文本编辑器都可以。 - VonC