1、需要准备的工具putty, 官网地址:http://the.earth.li/~sgtatham/putty/latest/
a)putty.exe,用来远程连接的 http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
b)puttygen.exe 用来生成密钥对的 http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
2、生成密钥对
2.1 打开puttygen.exe,选择生成的密钥的长度,这里我们选择2048,相对于1024较安全一点,
2.2 点击generate,然后移动鼠标就会生成密钥对。
2.3 这里已经生成结束了。需要设置一个密码,这样会更安全一点。
2.4 保存公钥和私钥,这里使用putty.exe进行远程连接,需要私钥保存在本地,公钥放在服务器端(secureCRT好像只能用公钥来连接,不知道为什么不能用私钥呢,我也是不明白,还望有知道真相的仁兄,给小弟指点迷津)
2.5 私钥保存在本地一个相对安全的位置(前提是自己能够找的到),然后
a)把公钥上传到服务器的用户的家目录的.ssh目录下(假如我上传的公钥保存的文件名为centos.6.7.ppk,即~/.ssh/centos6.7.ppk),如果没有.ssh目录,则新建一个,
b)重命名私钥为authorized_keys
c)修改~/.ssh/目录的权限为700
<span > </span>[root@lcl ~]# chmod 700 .ssh/
<span > </span>[root@lcl ~]# ls -ld .ssh/
<span > </span>drwx------. 2 root root 4096 Nov 6 13:46 .ssh/
d)关闭selinux
查看selinux是否打开
这个方法重启就会失效,想要永久关闭,则需要修改一个配置文件,
<span > </span>[root@lcl ~]# vi /etc/selinux/config # 把SELINUX=disabled,就可以永久关闭了(配置文件里面有相应的提示)。
1 #
2 <span ># This file controls the state of SELinux on the system.
3 # SELINUX= can take one of these three values:
4 # enforcing - SELinux security policy is enforced.
5 # permissive - SELinux prints warnings instead of enforcing.
6 # disabled - No SELinux policy is loaded.
7 #SELINUX=enforcing
8 <strong>SELINUX</strong>=<strong>disabled</strong>
9 # SELINUXTYPE= can take one of these two values:
10 # targeted - Targeted processes are protected,
11 # mls - Multi Level Security protection.
12 SELINUXTYPE=targeted
13</span>
e)关闭防火墙
3、使用putty进行远程连接
3.1 分别在相应的位置填写远程服务器的ip, 用户名,ssh端口
3.2 在左侧的民航栏里找到Connection->SSH->Auth,在右侧找到Browse,上传自己刚刚保存的私钥,然后就可以连接了。
这里会提示你需要论证,也就是你刚刚在创建密钥的时候设备的密码,输出正解的密码就可以登录了。
4、两台linux主机实现互相登录使用密钥而不需要密码也是相同的道理,先使用ssh-keygen命令生成密钥对,默认的位置是在~/.ssh/{id_rsa,id_rsa.pub},然后将生成的id_rsa.pub的文件内容复制追加到你需要登录的主机的~/.ssh/authorized_keys文件中。保存即可。另外一台也是类似。
在实际的生产中,这样的使用方式会非常的多,如是管理员拿着root的密码,非常频繁和连接服务器,是非常不安全的。还有一点就是使用密钥对的方式登录,会相对安全一点。