从Mac到Ubuntu 12的SSH密钥

我试图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/*