平时我们在使用linux的服务器的时候通常都是通过我们的PC基于ssh的方式来登录到server的。ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式。其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux/unix的方法。
使用密钥登录分为三步:
一、生成密钥公钥(Public key)与私钥(Private Key)
打开Xshell,在菜单栏点击“工具”,在弹出的菜单中选择“密钥生成向导”,如下图:
弹出“生产密钥参数”对话框,在“类型”项选择“RSA”公钥加密算法,“长度”选择为“2048”位密钥长度,如下图:
点击“下一步”,等待密钥生成:
继续下一步,在“密钥名称”中输入Key的文件名称,我这里为“keys”;输入一个密码用于加密私钥,并再次输入密码确认,如下图:
击“下一步”,密钥生成完毕(公钥格式选择SSH2-OpenSSH格式),这里显示的是公钥,我们可以复制公钥然后再保存,也可以直接保存公钥到文件,如下图。私钥这里不显示,可以在“保存为文件”导出到文件:
点击“保存为文件”按钮,将公钥(Public key)保存到磁盘,文件名为“key.pub”,备用。
二、上传公钥(Public Key)到服务器:
使用到Xshell登录到服务器,进入到“/用户名·/.ssh/”目录,运行rz命令(如果没有rz命令,运行yum install lrzsz安装),将key.pub发送到服务器,然后运行如下命令,将公钥(Public Key)导入到“authorized_keys”文件:
# cd /root/.ssh/
# rz
# cat key.pub >> authorized_keys
# chmod 600 authorized_keys
# cat authorized_keys
三、配置Xshell使用密钥认证方式登录到服务器:
点击“新建”按钮,弹出“新建回话属性”对话框,在“链接”栏目中,输入喜欢的名称和要连接的主机IP,如下图所示:(先别着急确定,往下继续)
点击左侧切换到用户身份认证栏目,在“方法”选择“Public Key”认证,”用户名“输入“root”(公钥是放在root目录下的.ssh文件夹中),在“用户密钥”中选择我们刚才生成的私钥“key”,“密码“中输入私钥的加密密码。
点击确定,Xshell配置ssh免密码登录配置完成。