天天看点

Linux上SSH免密登录

在使用git与服务器链接时希望不需要老是重复输入密码,也就是可以免密登录,通过ssh的公钥密钥可以实现。

1.在本地机器下生成公钥/私钥对。

[[email protected] ~]$ ssh-keygen -t rsa -P

''

   敲击回车键即可,-P参数表示密码,后面单引号表示空密码。

   它在/home/linghu/下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub,一个私钥文件一个公钥文件。

2. 把本地机器下的id_rsa.pub文件复制到服务器机器下的/用户/.ssh/authorized_keys文件里,/用户就是登录服务器时使用的用户。

[[email protected] ~]$ scp .ssh/id_rsa.pub [email protected]:/home/yunos/id_rsa.pub.linghu

[email protected]'s password:

   由于还没有免密码登录的,所以要输入密码。

3. 然后将服务器机器的id_rsa.pub.linghu内容添加到/用户/.ssh/authorzied_keys文件里。

[[email protected] ~]$ cat id_rsa.pub.linghu >> .ssh/authorized_keys

[[email protected] ~]$ chmod 600 .ssh/authorized_keys

   authorized_keys的权限要是600。

4. 本地机器免密登录服务器。

[[email protected] ~]$ ssh 192.168.10.107

   第一次登录是时要你输入yes。 现在本地机器可以无密码登录服务器机器了。

小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)。