本教程适用以下Linux发行版: Centos、Debian、Ubuntu
如果一个黑客拥有了你的Linux服务器的root用户权限,那么你的服务器将会被破坏、滥用……等等等等。所以保护好root密码,将是正确使用Linux VPS正确姿势的第一课。
密码设置复杂一点固然很重要。但是如果我们改成密钥登录,你的VPS安全将会更加牢固。长话短说,用最简洁的一句话概括什么是密钥登录。
就是用公钥和私钥比对的方法通过身份确认从而成功登录。公钥放在VPS上,私钥配置到SSH软件中。
下面将以Xshell为实例,演示一遍密钥登录是如何愉快玩耍的。
一、生成公钥和私钥
打开Xshell软件,依次选择“工具”–“新建用户密钥生成向导”
密钥类型:RSA 密钥长度:2048位
公钥对生成之后点击“下一步”
设置一个“密钥名称”,并设置“密码”,然后点击“下一步”。
* *此密码为“用户密钥”(私钥)的密码。拥有正确的密码才能将此“用户密钥”(私钥)导入到Xshell中。而导入到Xshell中才能够使用此“用户密钥”(私钥)来登录服务器的SSH。这样确保了即使“用户密钥”(私钥)被盗取也无法被非法利用**
然后点击“保存为文件”,并将扩展名为.pub 的公钥文件保存在本地电脑里。
** 公钥我们在接下来的教程中,将会上传到Linux服务器中**
点击上图“完成”之后,就会自动进入到“用户密钥管理者”界面。在这里我们选中刚刚创建的私钥,并点击导出。将其保存到电脑中。(导出的过程中需要输入密码)
通过以上步骤我们就成功创建里 公钥(renao.pub)/私钥(renao)
二、上传公钥到Linux服务器
通过SFTP工具(FlashFxp、Xftp)连接Linux VPS
并将公钥(renao.pub)上传至 /root/.ssh 文件夹中
上传成功后将 renao.pub 重命名为 authorized_keys 并保证此文件夹内只有这一个文件。
* * 如果没有root目录中没有.ssh文件夹,请手动创建。若在root目录中看不到.ssh文件夹。那么请在地址栏中完整输入路径,并回车即可到达**
三、配置服务器开启密钥登录,并关闭密码登录
在VPS中利用vi编辑器编辑sshd的配置文件
vi /etc/ssh/sshd_config
找到 RSAAuthentication和PubkeyAuthentication 两行,并将前面的“#”去掉。
找到PasswordAuthentication行,并将后面的“yes”改为“no”。
保存并退出之后,运行重启SSHD服务命令
Centos 运行
/etc/init.d/sshd restart
Debian/Ubuntu 运行
/etc/init.d/ssh restart
运行之后会收到成功的提示
断开SSH连接后,重新连接就可以通过密钥登录VPS了。
**如果需要在其它机器上登录服务器,则需要将私钥(renao)导入到其电脑的Xshell中**