我试图build立一个场景,我不需要提交一个密码从SSH到SSH的Ubuntu机器。 这是我一直以来的程序:
1 – 在你的Mac中打开一个terminal,并保持login状态,而不是根。
2 – ssh-keygen (当被要求input密码留空时,这个s的目的是rsync能够在没有密码的情况下提示ssh)
3 – cat ~/.ssh/id_rsa.pub
这将产生一个SSH密钥,现在将生活在您的家庭文件夹。 现在您需要将公钥添加到Ubuntu VM中
1 – 以root身份login到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]我仍然被要求一个pword ..
有任何想法吗?
有没有一个configuration,必须设置在SSH机器上的Ubuntu机器,以允许这种行为发生?
这是问题:
chmod 600 /home/john
你让自己的主目录不可执行,这意味着你拥有的任何进程都不能进入目录来读取它的内容 – 包括你的ssh密钥。
你想要chmod 700 /home/john 。 另外chmod 700 /home/john/.ssh; chmod 600 /home/john/.ssh/* chmod 700 /home/john/.ssh; chmod 600 /home/john/.ssh/*