Centos使用key登录验证

1. 新建用户lsyw 设置密码

   #useradd lsyw

   #passwd lsyw

                   

2. 测试新建用户可以登录

3. 修改root登录密码为通用root密码,测试用新密码登录是否成功 

   #passwd

4. 禁用root登录,测试root禁用登录是否成功。

   #vi /etc/ssh/sshd_config

    PermitRootLogin no

   #service sshd restart

5. 使用key登录

 5.1 切换到root下,修改sshd配置文件允许使用key登录

   #vi /etc/ssh/sshd_config           去掉下面三行注释

     RSAAuthentication yes

     PubkeyAuthentication yes

     AuthorizedKeysFile      .ssh/authorized_keys

   #service sshd restart

  

###生成key有两种方法,在服务器上生成或客户端软件生成,使用一种即可,生成key后,把私钥保存在连接客户端,把公钥复制到需要连接的服务器上的/home/.ssh/authorized_keys文件中,这里使用第二种方法。

####这里请注意,默认情况下.ssh目录是没有的,使用本机ssh其它机器的时候会自动创建,

建议这种方法。第二种方法就是手动创建,但是需要更改.ssh目录的权限:chmod 700 ~/.ssh

不然默认创建的目录其它用户组有w权限,ssh是不允许无密码登录的。

 5.2 在服务器上产生服务器端key  ---- 用户lsyw环境下操作##########

$ ssh-keygen -t rsa           #设置key的保护密码为lishen@123

 5.3 客户端生成key(使用xshel生成客户端key)

     运行运行XShell,点击菜单:Tool ->User Key Generation Wizard

Next…..

 

Next….

 

Next…..

 

Save as a file  --> 保存公钥

Finish ---> 出现下面画面

 

Export --à 保存私钥

妥善保管公钥和私钥

 5.4 将客户端的公钥复制到服务器

     复制刚刚用xshell生成秘钥保存的公钥id_rsa_1024.pub到服务器/home/~/.ssh/目录,并重新命名为authorized_keys

     修改authorized_keys权限

     # chmod 600 authorized_keys            

 5.5 使用xshel连接服务器

点击连接的Properties

点击ok,connect ……  不用输入密码连接成功,连接成功。

6. 禁止使用密码登陆

# vi /etc/ssh/sshd_config                把密码验证设置为no,禁止

PasswordAuthentication no

#service sshd restart                   使修改生效

测试使用密码是否还可以登陆……

原文地址:https://www.cnblogs.com/zhaojonjon/p/5700392.html