一、Secure客户端通过密钥登陆服务器:

1、Secure客户端设置

生成密钥:

Secure和Xshell设置密钥登陆服务器_Xshell


点击下一步:

Secure和Xshell设置密钥登陆服务器_Secure_02


选择加密类型:(RSA或DSA)

Secure和Xshell设置密钥登陆服务器_服务器_03


输入密钥登陆密码,然后点击下一步:

Secure和Xshell设置密钥登陆服务器_服务器_04


加密长度(默认1024),下一步:

Secure和Xshell设置密钥登陆服务器_Secure_05


下一步:

Secure和Xshell设置密钥登陆服务器_服务器_06


生成路径,完成:

Secure和Xshell设置密钥登陆服务器_Xshell_07


确定是否为本客户端的全局公钥,如果没有别的公钥,就点是,否则点否;

Secure和Xshell设置密钥登陆服务器_Xshell_08


2、服务器客户端设置:

(1)写入公钥

在生成的密钥里面有两个文件,一个公钥文件(Identity.pub),一个私钥(Identity)。

需要把Identity.pub内的内容写入到Linux服务器的特定文件中:~/.ssh/authroized_keys

其中,“~”表示对应用户的主目录,下面示例以root为例。如果你是用test用户登录的话需要把Identity.pub拷贝到/home/test/.ssh 若.ssh目录不存在,请创建它,并把公钥信息写入文件中:
[root@hr35 ~]# mkdir ~/.ssh 

[root@hr35 ~]# chmod 700 ~/.ssh 

[root@hr35 ~]# touch  ~/.ssh/authorized_keys 

[root@hr35 ~]# chmod 600 ~/.ssh/authorized_keys

[root@hr35 ~]# ssh-keygen  -i  -f  you_Identity.pub  >> /root/.ssh/authorized_keys #将公钥导入到 authorized_keys文件中
注意:必须要注意~/.ssh 的权限必须为700,~/.ssh/authorized_keys必须为600,否则可能会出现登录不了的情况。

(2)、开启ssh密钥登陆权限

修改/etc/ssh/sshd_config文件:
[root@hr35 ~]# vim /etc/ssh/sshd_config 
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
把上面这三个前面的#号去掉,保存退出。

Secure和Xshell设置密钥登陆服务器_Secure_09

如果想要禁止密码登录,可以修改/etc/ssh/sshd_conf中的
PasswordAuthentication yes 改为
PasswordAuthentication no
即只能使用密匙认证的openssh,禁止使用口令认证。

保存退出(ESC+输入“:wq!”);
重启sshd服务:
     CentOS 6.*: service sshd restart
     CentOS 7.*: systemctl restart sshd.service

(3)、客户端设置

 新建一个会话,依次填写IP,端口,用户名(Username),选择密钥登陆(认证把密钥调到最上面密钥),秘钥文件,填写密钥密码;

Secure和Xshell设置密钥登陆服务器_Xshell_10



二、Xshell登录设置

1、Xshell客户端设置

新建用户密钥:

Secure和Xshell设置密钥登陆服务器_Secure_11


选择选择密钥类型(RSA或DSA)和密钥长度(默认1024),然后点击下一步:

Secure和Xshell设置密钥登陆服务器_Secure_12


下一步:

Secure和Xshell设置密钥登陆服务器_Secure_13


填写密钥登录密码,下一步:

Secure和Xshell设置密钥登陆服务器_Xshell_14


导出公钥,点击完成;

Secure和Xshell设置密钥登陆服务器_Secure_15


导出私钥,然后关闭(建议导出和公钥一起保存,以防以后重装软件还得重新生成)

Secure和Xshell设置密钥登陆服务器_密钥 安全_16


2、服务器

(1)、写入公钥

在生成的密钥里面有两个文件,一个公钥文件(id_dsa_1024.pub),一个私钥(id_dsa_1024)。

需要把id_dsa_1024.pub内的内容写入到Linux服务器的特定文件中:~/.ssh/authroized_keys

其中,“~”表示对应用户的主目录,下面示例以root为例。如果你是用test用户登录的话需要把id_dsa_1024.pub拷贝到/home/test/.ssh 若.ssh目录不存在,请创建它,并把公钥信息写入文件中:
[root@hr35 ~]# mkdir ~/.ssh 

[root@hr35 ~]# chmod 700 ~/.ssh 

[root@hr35 ~]# touch  ~/.ssh/authorized_keys 

[root@hr35 ~]# chmod 600 ~/.ssh/authorized_keys

[root@hr35 ~]# cat id_dsa_1024.pub  >> /root/.ssh/authorized_keys #将公钥追加到 authorized_keys文件中
注意:必须要注意~/.ssh 的全新必须为700,~/.ssh/authorized_keys必须为600,否则可能会出现登录不了的情况。

(2)、开启ssh密钥登陆权限

vim /etc/ssh/sshd_config 

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys
把上面这三个前面的#号去掉,保存退出。

Secure和Xshell设置密钥登陆服务器_Secure_09

如果想要禁止密码登录,可以把/etc/ssh/sshd_conf中的
PasswordAuthentication yes 改为
PasswordAuthentication no
即只能使用密匙认证的openssh,禁止使用口令认证。
保存退出(ESC+输入“:wq!”);
重启sshd服务:
     CentOS 6.*: service sshd restart
     CentOS 7.*: systemctl restart sshd.service

(3)、xshell客户端

新建一个会话,依次填写IP,端口;

Secure和Xshell设置密钥登陆服务器_Xshell_18


选择密钥登陆(认证把密钥调到最上面密钥),用户名(Username),秘钥文件及密钥密码;

Secure和Xshell设置密钥登陆服务器_Xshell_19

END