远程登录Linux的时候除了账号密码登录外,
还有更安全的登录方法,密钥登录
1.简单介绍
生成密钥的时候,会同时生成2个文件,一个是私钥,一个是公钥.
私钥可以解密公钥,
将公钥放到用户家目录.ssh目录下的authorized_keys文件内
就可以使用私钥登录了
2.使用xshell生成密钥
在工具里选择新建用户密钥生成向导
密钥类型RSA,密钥长度越长安全性越高,我么这里选择4096
生成密钥成功
给设置密钥名字和密码(密码可以留空)
之后进入用户密钥管理页面
选择属性,
选择公钥,复制里面的内容,或者保存为文件
3.上传公钥
到要使用的用户家目录,这里我们使用的用户是root
进入到/root目录
使用"ls -a"查看隐藏目录(目录名第一位是.的为隐藏文件)
是否有.ssh目录
如果没有创建一个"mkdir ./.ssh"
修改目录权限为700"chmod 700 ./.ssh"
进入此目录创建一个authorized_keys文件
"touch authorized_keys"
我们使用xftp将保存的公钥文件传到服务器上
或者直接将刚才的公钥文件粘贴到authorized_keys文件内
4.使用密钥登录
打开xsehll复制一个会话
在新会话上右键属性,编辑用户身份验证选项
删除之前的密码,方法选择Public Key,
密钥选择刚才创建的密钥
输入设置的密码,如果前面生成的时候没有使用密码,这里留空即可
确定之后,就可以连接了,连接成功.
这时我们将authorized_keys内文件删掉掉或者修改一些内容
再次用密钥登录实验一下
提示我们没有注册.
5.使用linux生成密钥
密钥也可以在linux下生成
使用ssh-keygen生成密钥
可以使用-t指定密钥类型,-b指定密钥长度
生成过程中可以为密钥设置密码
生成的文件在.shh目录下
id_rsa为私钥,id_rsa.pub为公钥
将公钥内容写入authorized_keys文件
6.将私钥导入到xshell中
使用xsftp将id_rsa复制出来
打开用户密钥管理选择导入
选择刚才复制出来的私钥
我们修改会话的密钥为刚才导出的密钥
能够正常连接
linux下用密钥连接另一台linux也是相同的
私钥保存在.ssh目录下,
将公钥复制到另一台linux的
authorized_keys文件中即可