1.在自己的机器下面使用ssh-keygen命令来实现创建公钥
使用 ssh-keygen -t rsa 来创建密钥,程序会问你存放的目录,如果不需要修改,直接回车两次即可
$
ssh-keygen -t rsa
或者
$
ssh-keygen -b 1024 -t rsa
2.将你~/.ssh目录中的id_rsa.pub这个文件拷贝到你要登录的服务器的~/.ssh目录中,然后再运行以下命令来将公钥导入到~/.ssh/authorized_keys这个文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,注意是管道符是 >>
另外要注意请务必要将服务器上
~/.ssh权限设置为700
~/.ssh/authorized_keys的权限设置为600
这是linux的安全要求,如果权限不对,自动登录将不会生效
完毕之后,退出服务器的登录,再使用ssh登录,你就会发现服务器不会再向你询问密码了.
3,scp也不需要密码了
注意,如果出现下面的问题:
ssh密码登陆后,但是还是密码失败,提示“Agent admitted failure to sign using the key”,生成后还是需要输入密码。
解决方法:在本地,用ssh-add命令将id_rsa加进来
$ssh-add ~/.ssh/id_rsa