第一步是创建公钥

1、首先用CRT创建密钥,下图是图示:


CRT通过密钥登陆Linux服务器_CRT

CRT通过密钥登陆Linux服务器_密钥登陆_02

CRT通过密钥登陆Linux服务器_CRT_03

CRT通过密钥登陆Linux服务器_CRT_04

密钥长度默认就可以,越大越安全

CRT通过密钥登陆Linux服务器_CRT_05

CRT通过密钥登陆Linux服务器_密钥登陆_06

CRT通过密钥登陆Linux服务器_CRT_07

上图中选择OpenSSH密钥格式,这样在后面就不用再转格式,在早起可能不能直接生成OpenSSH密钥格式,需要转换。我的版本可以直接生成。下面是转换的命令

ssh-keygen–i –f Identity.pub

最后点击完成,会弹出如下图示,一个我选择的是否,也可以选择是。

CRT通过密钥登陆Linux服务器_Linux_08

可以在之前的文件目录中找到刚才的私钥和公钥文件

因我并没有更改这个地址,所以默认是C:\Users\Administrator\Documents这个目录下会有:Identity(私钥),Identity.pub(公钥)

需要把Identity.pub(公钥)放到服务器上的~.ssh隐藏目录下,因此如果服务器上没有~.ssh这个隐藏目录,就需手动创建。ls –a可以查看隐藏目录

我的已经存在.ssh隐藏目录。

[root@nfsclient ~]# ls -a

.                .bash_history  .baser install.log         .tcshrc

..               .bash_logout   b.txt   install.log.syslog

anaconda-ks.cfg  .bash_profile .cshrc   .ssh

[root@nfsclient ~]#

通过rz –y命令将Identity.pub(公钥)拷贝到服务器上(这里可以用多种方法)。

CRT通过密钥登陆Linux服务器_CRT_09

需将文件放到.ssh目录下

[root@ru ~]# mv Identity.pub .ssh

[root@ru ~]# cd .ssh

[root@ru .ssh]# ls

Identity.pub known_hosts

[root@ru .ssh]#

需将文件名更改authroized.keys

注意:之所以将Identity.pub(公钥)该名为authroized.keys,原因:在ssh的配置文件/etc/ssh/sshd_config中AuthorizedKeysFile     .ssh/authorized_keys所以需将公钥的文件名进行更改

[root@ru .ssh]# cat Identity.pub>>authorized_keys

[root@ru .ssh]# ls

authorized_keys  Identity.pub known_hosts

[root@ru .ssh]#

同时这里需要对.ssh目录的权限进行更改,以及authorized_keys文件的权限进行更改

将.ssh目录的权限改为700,authorized_keys文件的权限改为600(644),否则会导致后面出现问题无法登陆。

   同时在上述操作完成后,需重启sshd服务/etc/init.d/sshd restart

第二步CRT工具通过密钥登录Linux服务器

CRT通过密钥登陆Linux服务器_密钥登陆_10

选择publickey点击属性

CRT通过密钥登陆Linux服务器_Linux_11

CRT通过密钥登陆Linux服务器_Linux_12

然后连接,会出现需要输入之前设置的通行短语,输入之后即可成功登陆

CRT通过密钥登陆Linux服务器_Linux_13

CRT通过密钥登陆Linux服务器_CRT_14