我正在尝试设置一个场景,在该场景中,我不需要将密码从 mac 提交到 ubuntu 机器。这是我一直遵循的程序:
1 - 在您的 Mac 中打开一个终端并保持以您的身份登录,而不是 root。
2 - ssh-keygen
(当要求输入密码时,请留空,此 s 的目的是让 rsync 能够在没有密码提示的情况下进行 ssh)
3 -cat ~/.ssh/id_rsa.pub
这将生成一个 SSH 密钥,该密钥现在将存在于您的主文件夹中。现在您需要将公钥添加到 ubuntu 虚拟机中
1 – 以 root 身份登录到 vm
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 中设置配置以允许这种行为发生?
这是问题所在:
您正在使您的主目录对自己无法执行,这意味着您拥有的任何进程都无法进入该目录以读取其内容 - 包括您的 ssh 密钥。
你想要
chmod 700 /home/john
。还chmod 700 /home/john/.ssh; chmod 600 /home/john/.ssh/*