我正在尝试通过终端中的 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"