使用putty实现密钥登录远端服务器

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

	[root@lcl ~]# chmod 700 .ssh/
	[root@lcl ~]# ls -ld .ssh/
	drwx------. 2 root root 4096 Nov  6 13:46 .ssh/

d)关闭selinux

查看selinux是否打开

个方法重启就会失效,想要永久关闭,则需要修改一个配置文件,

	[root@lcl ~]# vi /etc/selinux/config # 把SELINUX=disabled,就可以永久关闭了(配置文件里面有相应的提示)。
   1 # 
   2 # 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 SELINUX=disabled	
  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

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



你可能感兴趣的:(Linux)