全部博文(247)
分类: LINUX
2014-10-07 22:40:26
cd ~/.ssh(~表示当前用户的主文件夹,比如假如以user为用户名的用户登录系统则~表示/home/user)
如果没有密钥则不会有此文件夹,有则备份删除
$ ssh-keygen -t rsa -P ''
-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三次回车,用-P就一次回车。
它在~下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub,其中,id_rsa是私钥文件;对应的id_rsa_pub是公钥文件:
点击(此处)折叠或打开
- $ ls /home/lewis/.ssh/
- id_rsa id_rsa.pub known_hosts
二、复制公有密钥至远程主机
1.假设远程主机B的登录用户名为liu,下面建立SSH连接。
点击(此处)折叠或打开
- lewis@lewis-laptop:~/.ssh$ ssh 192.168.1.181 -l liu
- Password:
- Last login: Mon Nov 10 10:44:16 2008 from 192.168.1.155
- Have a lot of fun...
2.在远程主机用户liu的主目录下建立.ssh目录,并解除其他人对该文件的所有权限。
点击(此处)折叠或打开
- liu@linux-dqw4:~> mkdir .ssh
- liu@linux-dqw4:~> chmod 700 .ssh/
- liu@linux-dqw4:~> exit
- logout
- Connection to 192.168.1.181 closed.
3.把A机下的id_rsa.pub复制到B机下,在B机的.ssh/authorized_keys文件里,我用scp复制。
由于还没有免密码登录的,所以要输入密码。点击(此处)折叠或打开
- [lewis@A ~]$ scp .ssh/id_rsa.pub liu@192.168.1.181:/home/liu/id_rsa.pub
- liu@192.168.1.181's password:
- id_rsa.pub 100% 223 0.2KB/s 00:00
4.B机把从A机复制的id_rsa.pub添加到.ssh/authorzied_keys文件里。
点击(此处)折叠或打开
- [chenlb@B ~]$ cat id_rsa.pub >> .ssh/authorized_keys
- [chenlb@B ~]$ chmod 600 .ssh/authorized_keys
三、A机登录B机。
点击(此处)折叠或打开
- [lewis@A ~]$ ssh 192.168.1.181
- The authenticity of host '192.168.1.181 (192.168.1.181)' can't be established.
- RSA key fingerprint is 00:a6:a8:87:eb:c7:40:10:39:cc:a0:eb:50:d9:6a:5b.
- Are you sure you want to continue connecting (yes/no)? yes
- Warning: Permanently added '192.168.1.181
第一次登录是时要你输入yes。
现在A机可以无密码登录B机了。
四、 测试配置
至此已经完成了SSH密钥对的配置。尝试以用户liu的身份登录该远程主机,可以看到SSH不再询问口令,而是直接允许用户登录到系统中。
点击(此处)折叠或打开
- lewis@lewis-laptop:~/.ssh$ ssh 192.168.1.181 -l liu
- Last login: Tue Jan 13 00:57:18 2009 from 192.168.1.155
- Have a lot of fun...
- liu@linux-dqw4:~>
小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)
想让A,B机无密码互登录,那B机以上面同样的方式配置即可。