【问题标题】:ssh/known_hosts: No such file or directory [closed]ssh/known_hosts:没有这样的文件或目录[关闭]
【发布时间】:2021-07-11 23:45:51
【问题描述】:

所以我正在设置 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/known_hosts 是要编辑的文件,而不是要运行的命令。
  • ehm 显然我一开始就没有那个文件。有没有办法创建它?
  • 使用任何文本编辑器。 ssh 如果找到它就会使用它。如果没有找到该文件,或者文件中没有找到您要连接的主机,ssh 将在确认您要连接后添加该文件。
  • ok VonC 下面帮助建立了这个文件,但是我该如何编辑它呢?
  • @Askar 为什么要编辑它?其内容将由ssh 自动生成。但如果你愿意,任何文本编辑器都可以。

标签: ubuntu ssh gitlab


【解决方案1】:

显然我一开始就没有那个文件。有没有办法创建它?

它将在您第一次调用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


正如chepnerthe comments 中所说,您应该在回答“是”之前提前获取服务器的实际指纹,并将该指纹与添加到~/.ssh/known_hosts 的指纹进行比较。

参见例如“Securely add a host (e.g. GitHub) to the SSH known_hosts file”。

例如:github.comgive its server fingerprints 相比:将其与 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

【讨论】:

    猜你喜欢
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 2018-03-10
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    相关资源
    最近更新 更多