使用Putty密钥认证机制远程登录Linux

1、下载生成密钥工具 putty工具包里面的puttygen.exe

putty工具小巧携带方便,不需要安装,可以百度免费下载使用。


2、双击打开puttygen.exe,右下角“Number of bits in a generated key”设置为2048 ,然后点击“Generate”,开始生成密钥,来回动一动鼠标,可以快速生成密钥对。“Key comment”保持不变也可以自定义,对密钥的简单介绍;“Key passphrase”给密钥设置密码,下次使用远程登录只需要输入这个密码就可以登录linux;“Confim passphrase”再次输入刚刚设置的密码。


3、保存私钥,点击"Save private key" 在弹出的浏览框里面选择保存私钥的地址,并命名方便区分。

spacer.gifwKiom1T_4BTTH4dyAALJKlSJf4w807.jpg


4、复制公钥到远程linux里面

回到密钥生成的窗口,在“Key”下方的一堆字符串就是生成的公钥内容,复制下来,粘贴到远程linux /root/.ssh/authorized_keys 文件中。如果没有.ssh目录,需要自己建立一个,并更改目录权限为700

[root@localhost ~]# mkdir /root/.ssh
[root@localhost ~]# chmod 700 /root/.ssh/
[root@localhost ~]# vi /root/.ssh/authorized_keys

粘贴公钥的内容,保存退出。


5、关闭Selinux

如果不关闭Selinux,使用密钥登录会提示“Server refused our key”

关闭selinux有两种方法:

暂时关闭selinux防火墙,下次重启后selinux还会开启。

#setenforce 0 

#getenforce                     #查看临时关闭selinux的状态命令

永久关闭selinux      

 #vi /etc/selinux/config        #修改selinux的配置文件

更改“SELINUX=enforcing”为 SELINUX=disabled   保存退出。

[root@localhost ~]# /usr/sbin/sestatus -v        #查看selinux的状态命令
SELinux status:                 disabled


6、关闭防火墙

[root@localhost ~]# iptables -F                                #清空防火墙配置
[root@localhost ~]# /etc/init.d/iptables save          #清空防火墙配置后,记得保存
iptables:将防火墙规则保存到 /etc/sysconfig/iptables:     [确定]


7、设置putty通过密钥登录

打开putty工具,选择左侧Connection――SSH――Auth 右侧"Private key file for authentication" 点击”Browse“选择之前保存的私钥文件。

spacer.gifwKiom1T_4ISiqRIBAAI4rdtZR8U330.jpg


8、使用密钥验证登录远程linux

打开putty界面,点击左侧”Session“会话窗口里面”Host Name“下面填写远程linux的ip地址,”port“端口保持默认为22,”Connection type“保持默认为SSH,”Saved Sessions“下方可以命名会话,方便标示,填写完成后点击右边的”Save“按钮,下次登录就不用再次输入。下次登录选择保存的会话,点击右边的”Load“按钮,加载设置,配置完成后点击下方的”Open“打开登录界面。

putty界面”Window“――Translation 选项,Remote character set:选择UTF-8,避免出现乱码;

spacer.gifwKioL1T_4dfDmg7WAAIhgPNWVTM731.jpg

root用户登录,输入生成密钥时设置的密码,进入界面如下:

login as: root
Authenticating with public key "rsa-key-20150311"
Passphrase for key "rsa-key-20150311":
Last login: Wed Mar 11 19:26:27 2015 from 192.168.20.1
[root@localhost~]#


你可能感兴趣的:(linux,centos,putty)