我是新手,刚开始在 Ubuntu 16.04 上设置 SSH 密钥。我正在寻找一个授权密钥来删除命名的密钥anne
,但我想我删除了整个authorized_keys
文件。
mike@mike-thinks:~$ rm /home/mike/.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
mike@mike-thinks:~$ rm /home/mike/.ssh/authorized_keys
这是严重的错误吗?如果是,如何重新生成它们?同时我这样做了:
mike@mike-thinks:~/.ssh$ touch ~/.ssh/authorized_keys
mike@mike-thinks:~/.ssh$ ls
authorized_keys id_rsa id_rsa.pub known_hosts
mike@mike-thinks:~/.ssh$ chmod 600 ~/.ssh/authorized_keys
答案1
该~/.ssh/authorized_keys
文件包含公钥列表。它允许所有拥有与其中一个匹配的私钥的人连接到此计算机并以此用户帐户获得远程访问权限(~
路径前面的波浪号表示此文件位于当前用户的主目录下)。
在服务器上(您要连接的计算机到):
如果您删除了此文件,则没有人能够使用其私钥在此用户帐户下进行身份验证。除非已禁用密码身份验证,否则密码身份验证仍将有效。
您必须重新生成文件并再次使用公钥认证方法添加您想要授予访问权限的所有公钥。
在客户端(您要连接的机器从,即您的本地机器):
这里不需要文件authorized_keys
,因为您可能不想授权任何密钥并授予他们对本地计算机的远程访问权限。它应该是空的或被删除的。
在客户端,您只需要在服务器上授权的私钥文件(即在authorized_keys
服务器上的文件中具有其对应的公钥),以及可选的适当的config
文件known_hosts
。
答案2
是的,你删除了整个文件。要重新创建它,所有用户都必须在服务器上复制他们的 ssh 密钥。你可以使用
ssh-copy-id [email protected]
如果您不想删除所有键,请编辑文件并下次仅删除行。