Linx 下设置 SSH 通过密钥登录
我们一般使用 PuTTY等 SSH客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被
暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登
录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过
密钥方式登录。
密钥形式 登录的原理是:利用密钥生成器制作一对密钥;(公钥文件和私钥文件)。将公钥添加到服务器的
某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一 来,没有私钥,任何人都无法通过 SSH
暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。
下面来讲解如何在 Linux 服务器上制作密钥对,将公钥添加给账户,设置 SSH,最后通过客户端登录。
方式一、使用 SSH客户端工具来生成密匙对
/*** 密匙对可以通过客户端工具来生成;也可以在 Linux主机上使用 SSH命令生成,注意:不管是在客户端工具还是 Linux主机
上使用命令来生成的密匙对, 那么他们生成的密匙文件肯定是一对,公匙文件名字一般是 id_rsa.pub 而私匙文件一般是
id_rsa) ***/
步骤 1:使用客户端工具生成密匙对
(1):打开 SSH客户端工具生成密匙对
/*这里我使用 xshell工具,并且生成的密匙类型是 rsa,长度是 3072位,位数越高越安全!如果你在客户端工具上选择生成 DSA
类型,由客户端 SSH工具生成的密钥对和用服务端 SSH命令生成的 OpenSSH密钥对在格式上不一样,所以最后的公匙上传服务器
端后需要转换为 openssh格式,否则将会认证失败!*/
(2)这里需要给我们生成的密匙对设置一个锁码!(这样是为了防止即使别人拿到你的私匙文件他也无法登陆 Linux主机)