Xshell配置密钥公钥(Public key)与私钥(Private Key)登陆

ssh登陆提供两种认证方式:口令(密码)认证方式和密钥认证方式。其中口令(密码)认证方式是咱们最经常使用的一种,这里介绍密钥认证方式登陆到linux/unix的方法。linux

使用密钥登陆分为3步:
一、生成密钥(公钥与私钥);
二、放置公钥(Public Key)到服务器~/.ssh/authorized_key文件中;
三、配置ssh客户端使用密钥登陆。
算法

1、生成密钥公钥(Public key)与私钥(Private Key)

打开Xshell,在菜单栏点击“tools”,在弹出的菜单中选择“User Key Generation Wizard...”(密钥生成向导),以下图:shell

弹出“User Key Generation Wizard”对话框,在“Key Type”项选择“RSA”公钥加密算法,“Key Length”选择为“2048”位密钥长度,以下图:服务器

点击“Next”,等待密钥生成:ssh

继续下一步,在“Key Name”中输入Key的文件名称,我这里为“key”;在“Passphrase”处输入一个密码用于加密私钥(密码任意输入),并再次输入密码确认,以下图:加密

点击“Next”,密钥生成完毕(Public key Format选择SSH2-OpenSSH格式),这里显示的是公钥,咱们能够复制公钥而后再保存,也能够直接保存公钥到文件,以下图。私钥这里不显示,能够在“User Key Mangager...”导出到文件:spa

点击“Save as file...”按钮,将公钥(Public key)保存到磁盘,文件名为“key.pub”,备用。 3d

2、上传公钥(Public Key)到服务器:

使用到Xshell登陆到服务器,进入到“/root/.ssh/”目录,运行rz命令(若是没有rz命令,运行yum install lrzsz安装),将key.pub发送到服务器,而后运行以下命令,将公钥(Public Key)导入到“authorized_keys”文件:unix

[root@localhost .ssh]# rz                                                                                                                                  
[root@localhost .ssh]# ls
[root@localhost .ssh]# ls
[root@localhost .ssh]# rz

[root@localhost .ssh]# ls
key.pub
[root@localhost .ssh]# ls
key.pub
[root@localhost .ssh]# ls
key.pub
[root@localhost .ssh]# cat key.pub >> authorized_keys
[root@localhost .ssh]# ls
authorized_keys  key.pub
[root@localhost .ssh]# chmod 600 authorized_keys
[root@localhost .ssh]# ls
authorized_keys  key.pub
[root@localhost .ssh]# cat authorized_keys
ssh-dss AAAAB3NzaC1kc3MAAAEBALdTe54J+LFiZhi2LIM7G3HImkoXCj2GNMmQHOSqcG2GPmny0oNODoEwdiszoH/8VgxeuERaHyBiXe0ytvrxVrxjx6fkcBZGwhLIIORqM+CrfcD/Vjk8fr/O1d9pT16a9GiYebsUNfVAaD6cC1PnxzXcmMUqBfk48VocVNhvccoHRX2kHKazPQMdXOgaDfMqz4XaibqZH+fLuc1xpysHvcJFtkaFPFQH3sXvh4vj75d6mjFQGJCneJm1MWPQmmkkjLg+W/uAfSG7MYrp19+2mIf7iP527mDieM18fiwI7NkOUEUxeLs0EJal6kK9j1OUWqZqRFblPlKriA5M2fDco0EAAAAhANbdu7g54qxccYk5uwNAEblJvfPypf9h14Mb+oD8gqQdAAABAQCZIxc5hA8moces3s442qStuniyA2bNLtiuMMfav57447Xts8MzFBtvgxB4iX4cTdWdNETLjWjvUqzlFyN67t3+fOBsRjSFIKbx5P/45B6PqamZSu7+kvq5gy9WSTXqlqF5JAwvqKyUnlxPoJWL5qQ8Ij97eznYw2sp3dwKYIUDo7wFUdwlQhIwCkdFBV80eZdWSvJyGK+2t1Rd3VyXxulE8u+QdVaFf4T2paEy5u00shff0J+D6rPNncXxOSx0FQbZzwvAaFAs9oU7Eku3AifheM8bVJiAgzDH2uXzBoxrdSQAB1TSV9aUKMrt635jDShSBql92RR0Vx3+zAjiaWiNAAABAAEWbJEWB96X1ZmqKbMOagbwSy3pQ/NmcZs7l2VRwd3v5Xaz1ubxX3NZCz/IyL1TOjVeRBf56UjY1On48dhvE6Y1qEFBTXzFAhFlPK/O/aRi/Jcq3/UWSBSUNy3ztmUN+OyZFsIPPRCANotP9uaLmJulLB1aYg9LQzQfgwQua5fNgZIHjP2vdd95B+NfnnHyz+tHtXMcM5Evu7pES/XtgnwTzCyS6xL2FL9veIBBGTYFKXNtnyvb2oBhD42PGWFO3OE847SwG6RLvjzN19CkNqoqhpPzqJEzigviiL4f1FR4nz20wzgVnwQemhEvA1NJwvaDFQI51P971Uz4hjbHD54=[root@localhost .ssh]# ^C
[root@localhost .ssh]# pwd
/root/.ssh
[root@localhost .ssh]# ^C

 

3、配置Xshell使用密钥认证方式登陆到服务器:

打开Xshell,点击“New”按钮,弹出“New Session Properties”对话框,在“Connection”栏目中,输入刚刚配置好公钥(Public Key)的IP地址和端口,以下图所示:code