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" 在弹出的浏览框里面选择保存私钥的地址,并命名方便区分。
4、复制公钥到远程linux里面
回到密钥生成的窗口,在“Key”下方的一堆字符串就是生成的公钥内容,复制下来,粘贴到远程linux /root/.ssh/authorized_keys 文件中。如果没有.ssh目录,需要自己建立一个,并更改目录权限为700
1
2
3
|
[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“选择之前保存的私钥文件。
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,避免出现乱码;
root用户登录,输入生成密钥时设置的密码,进入界面如下:
1
2
3
4
5
|
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~]
#
|