PuTTY使用密钥认证登录到Linux

linux

2018-09-07

35

0

PuTTY使用密钥认证登录到Linux

PuTTY密钥认证

SSH服务支持一种安全认证机制,即密钥认证。所谓的密钥认证,实际上是使用一对加密字符串,一个称为公钥(publickey), 任何人都可以看到其内容,用于加密;另一个称为密钥(privatekey),只有拥有者才能看到,用于解密。通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难。 ssh的密钥认证就是使用了这一特性。服务器和客户端都各自拥有自己的公钥和密钥。如何使用密钥认证登录linux服务器呢

一. 生成密钥对

1. 打开puttygen

2. 点击Generate

tips:鼠标需要在进度条下方的空白处来回拖动,加快进度,不然过程很漫长 

3. 设置密码并保存密钥对

二、 保存公钥到服务器中
1. 新建文件夹 /.ssh
mkdir /root/.ssh
2. 修改/.ssh文件夹权限
chmod 700 /root/.ssh
3. 把公钥复制到文件夹下的authorized_keys文件中
vi /root/.ssh/authorized_keys

4. 关闭selinux防火墙
如果不关闭selinux, [3] 使用密钥登陆会提示 “Server refused our key”
setenforce 0
这个只是暂时命令行关闭selinux, 下次重启Linux后selinux还会开启。
永久关闭selinux防火墙的方式:把/etc/selinux/config文件中的“SELINUX=enforcing”修改成“SELINUX=disabled”,并且保存退出

三. 验证是否设置成功
1. 重新打开一个新的putty会话

2. 找到当前Linux主机,load

3. 配置当前Linux主机的私钥

到这步,先别急着点open,要先把配置保存到当前会话,不然下次打开putty,还得重新配置一次
四. 把配置保存回当前会话

五. 验证

当看到上面的putty界面后,说明putty的密钥验证已经成功了!

 

 
 
 
 

六、非root用户添加putty 可以认证方法

在这个例子中我将使用username作为用户名

1).创建用户home目录和.ssh目录,这里我们将用来存储用户的key

mkdir -p /home/username/.ssh

2).添加用户并且设置他们的home目录到上面创建的目录

useradd -d /home/username username

3).添加用户并用命令sudo设置用户组

usermod -aG sudo username

4).创建我们的authorized_keys文件

touch /home/username/.ssh/authorized_keys

5).设置.ssh目录,authorized_keys 文件和home目录权限

chmod 700 /home/username/.ssh

chmod 644 /home/username/.ssh/authorized_keys

chown -R username:username /home/username

6).现在你需要粘贴你的公共key到authorized_keys 文件中。

/home/username/.ssh/authorized_keys

根据以上配置,如果你的客户端配置正确的话,你应该可以通过SSH登录linux系统。 

7).密钥生成步骤,请看(一)--(五)步骤。

发表评论

全部评论:0条

鸿福951

努力打造一个好用的webui

热评文章

推荐文章