sym*_*oio 4 linux ssh openssh ssh-keys
我意识到我无法再连接到x.x.202.50. 昨天我更改了以下 ssh 配置文件:/share/homes/admin/.ssh/config通过添加以下设置:
# ssh (secure shell) configuration file
Host webserver
HostName x.x.212.50
User user1
IdentityFile ~/.ssh/id_rsa `
Run Code Online (Sandbox Code Playgroud)
我这样做的原因是为了同步目的启用密钥登录(使用Unison)。
现在,当我尝试连接到服务器时,我收到以下错误:
/share/homes/admin/.ssh/config 上的所有者或权限不正确
我Putty从 Windows 10 和 Linux 服务器连接到另一台 Linux 服务器。
因为我参与了一个项目,我需要连接到服务器,我不知道怎么做。有人知道怎么做这个吗?
Ain*_*riú 118
您需要更改.ssh目录的权限。运行以下命令(我发现 600 不会自行修复它):
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
Run Code Online (Sandbox Code Playgroud)
对于可能影响安全性的文件(私钥、配置文件、授权密钥)的一般规则是,除所有者之外的任何人都不能写入它们(私钥不应该被访问!)。
错误来自以下openssh 代码:
if (((sb.st_uid != 0 && sb.st_uid != getuid()) ||
(sb.st_mode & 022) != 0))
fatal("Bad owner or permissions on %s", filename);
Run Code Online (Sandbox Code Playgroud)
所以将它翻译成英文,意味着配置文件必须由 root 或运行的用户拥有,ssh并且不能被任何组或其他用户写入。
正如评论中已经指出的那样,您可能以某种方式将此权限授予某人,因此删除这些权限应该可以解决该问题:
chmod go-w /share/homes/admin/.ssh/config
Run Code Online (Sandbox Code Playgroud)