/.ssh/known_hosts 文件不存在?(Mac)

/.ssh/known_hosts 文件不存在?(Mac)

我正在尝试通过终端中的 SSH 连接到服务器。我能够连接到服务器,但在此过程中,它会询问我"Are you sure you want to continue connecting (yes/no)?"

我输入"yes"

然后我收到一条消息说

“无法将主机添加到已知主机列表 (User/username/.ssh/known_hosts)”

之后,我尝试打开并清理 known_hosts 文件,但收到一条消息,提示

“文件 /Users/username/.ssh/known_hosts 不存在。”

我需要创建 known_hosts 文件吗?我以为当我连​​接到服务器时这会自动发生?

答案1

文章无法将主机添加到已知主机列表有这样的建议:

检查目录权限

ssh 客户端需要能够写入 .ssh 目录中的文件:

ls -ld ~/.ssh

如果权限不正确,则运行此命令来修复它们:

chmod 0700 ~/.ssh

检查文件权限

检查.ssh目录中的文件是否具有读写权限:

ls -l ~/.ssh

如果没有,请运行:

chmod 0600 ~/.ssh/*

删除 ACL 标志

如果 ssh 客户端仍然无法写入该文件夹,则需要清除 ACL 标志:

chmod -R -a# 0 ~/.ssh

答案2

来自 su root

通过先将光盘设置为读写来检查光盘是否只读:

    mount -o remount,rw /

然后在终端中通过 SSH 连接到服务器,输入 yes 来接受密钥。

记得重置为只读:

    mount -o remount,ro /

检查读写状态:

    touch afile && { rm afile; echo "read-write"; } || echo "read-only"

相关内容