第一步是创建公钥

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


wKioL1aLnSbSFNz5AAExbGvU1sY105.png

wKiom1aLnTTjoIZeAABzsh-9w3M874.png

wKiom1aLnVfAqN8FAACEY53bkSo124.png

wKioL1aLnZSzSP9AAAB3y4551xU481.png

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

wKioL1aLncfwIcPIAACAYpLS5NE455.png

wKioL1aLnfXTmvRzAABPdq7n8Iw703.png

wKioL1aLnfbSqsK5AACa0MnLLLo201.png

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

ssh-keygen–i –f Identity.pub

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

wKiom1aLninwfkzWAAE5gJyrANQ975.png

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

因我并没有更改这个地址,所以默认是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(公钥)拷贝到服务器上(这里可以用多种方法)。

wKioL1aLnv2xXDAkAADCc0uKny4381.png

需将文件放到.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服务器

wKioL1aLn2TCyOkXAAEWtzuC5kk642.png

选择publickey点击属性

wKioL1aLn5DA3cOFAAB0rd0I17I951.png

wKioL1aLn57i4TUjAACTXJ2DnGM509.png

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

wKiom1aLn7OwPC08AAA5l72XrCM300.png

wKioL1aLn-viPf7TAAFTksx3faI604.png