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的密码,非常频繁和连接服务器,是非常不安全的。还有一点就是使用密钥对的方式登录,会相对安全一点。