我正在我的一个系统上设置无密码身份验证。
它适用于其中一个系统,但不适用于该特定系统
那么我是怎么做的:
puttygen生成公钥+私钥
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
- 粘贴 puttygen 中的公钥
chown username:groupname ~/.ssh -R
在这里它返回文件或目录不存在,但是它存在,我做了 pwd 并尝试使用绝对路径仍然相同的消息,路径不存在,知道为什么吗?
答案1
chown
抱怨的路径是-R
(从问题的标题来看)。
通常,选项应该出现前命令行中的其他操作数:
chown -R username:groupname ~/.ssh
GNU 工具有一个可疑的习惯:重新排列命令行,以便将无序指定的选项解释为好像它们是在其他操作数之前指定的。
您使用的命令chown
似乎不是该命令的 GNU 变体(或者至少不是实现这一特定 GNU 行为的命令,chown
例如在 Ubuntu 上的其他版本中找到的命令),这意味着您需要执行以下操作自己正确地做。
除此之外,您可能希望使用~username
而不是简单的~
,特别是如果您以 root 用户身份运行这些命令(~
指 root 的主目录,而不是 的主目录username
)。