linux的默认登录方式是账号和密码登陆,如果改成用密钥登陆的话会相对安全一些,但密钥登陆有利也有弊,想登陆VPS的话必须随身携带密钥文件,如果修改了默认root用户名还要修改相应的对应关系比较繁琐。
好了下面讲解如何用密钥登陆吧
准备工作:
mkdir .ssh
touch /root/.ssh/authorized_keys
1.创建一把锁和一把钥匙
运行:ssh-keygen -t rsa 三次回车
生成公钥id_rsa.pub和私匙id_rsa,默认存放在/root/.ssh/目录下
(PS:id_rsa.pub相当于锁,id_rsa相当于钥匙)
2.把锁装到门上去
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#赋予相应权限
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
OK现在门锁和钥匙已经建好了。再来配置一下登陆方式
vi /etc/ssh/sshd_config
#root用户不能从没有密匙的计算机上登录
PermitRootLogin without-password
#关闭密码方式意思就是只能用密匙登陆
PasswordAuthentication no
参数详解:
PermitRootLogin without-password #这样"root"用户就不能从没有密匙的计算机上登录。把这个选项设置成"no"将禁止"root"用户登录,只能用"su"命令从普通用户转成"root"。
PasswordAuthentication no #是否启用口令验证,把这个选项设置为"no"只允许用户用基于密匙的方式登录。这当然会给那些经常需要从不同主机登录的用户带来麻烦,但是这能够在很大程度上提高系统的安全性。基于口令的登录方式有很大的弱点。
OK服务器上配置好了,下面就是如何本地登陆的操作了,方法如下。
1.先把钥匙id_rsa下载到本地电脑,打开PuTTYGen这个软件点击Conversions->Import Key导入钥匙。在PuTTYGen中选择Save private key,会在本地生成一个PPK文件。
2.在Putty中填入IP地址端口等。然后在SSH授权方式中选择密钥,选择生成的PPK文件最后点击OPEN即可登陆VPS了。