我正在尝试设置一种场景,其中我不需要提交密码才能从 Mac ssh 进入 ubuntu 机器。这是我一直在遵循的过程:
1 - 在您的 Mac 上打开一个终端并保持以您身份登录,而不是 root 身份。
2- ssh-keygen
(当要求输入密码时,请留空,这样做的目的是为了让 rsync 能够在没有密码提示的情况下进行 ssh)
3 -cat ~/.ssh/id_rsa.pub
这将生成一个 SSH 密钥,该密钥现在将位于您的主文件夹中。现在您需要将公钥添加到 ubuntu VM 中
1 – 以 root 身份登录虚拟机
2 –mkdir /home/john/.ssh/
3 -nano /home/john/.ssh/authorized_keys
将 Mac 上生成的密钥复制到 ida_rsa.pub 中并粘贴到此文件中
4 –chown –R john /home/john/.ssh/
5 –chmod 600 /home/john
结果是,我在两个主目录中都有密钥。但当我仍然被要求输入密码时......ssh [email protected]
有任何想法吗?
是否存在必须在 ubuntu 机器中的 ssh 中设置的配置才能允许此行为发生?
答案1
问题如下:
chmod 600 /home/john
您正在使您的主目录对您自己不可执行,这意味着您拥有的任何进程都无法进入该目录来读取其内容 - 包括您的 ssh 密钥。
你想要的chmod 700 /home/john
。还有chmod 700 /home/john/.ssh; chmod 600 /home/john/.ssh/*