设置好密码管理器,用root账号登录到vps之后,第一步就是修改root 密码,改为一个比较长的密码。既然使用密码管理器来管理,那么设置一个50位长的密码也无所谓。
步骤如下:
1. 在lastpass上创建一个新的备注,如下图,选择 secure notes:
lastpass-choose-secureNotes.jpg

  1. 选择 “add notes”,按照下图设定你的vps信息。重要的是note type需要选择为“server”:

lastpass-seting-secureNotes.jpg

把名字设为你的vps,用户名设为root。在password一列,输入框右边有个小图标,点击打开下面的窗口,生成一个随机密码:
lastpass-generate-pw.jpg

拷贝这个密码到你的secure note的password栏中,保存笔记。

  1. 现在我们回到vps里,修改linux的root密码。命令行输入

passwd

系统会提示你输入从前的密码,就是vps服务商发给你的密码;
然后,在new password上,把第2步生成的密码拷贝一下,点击鼠标右键,粘贴到输入处。

  1. 以后,你每次登录root账号,都需要从lastpass中拷贝密码了,因为你不用再记忆,也记不住这么长的随机密码。

但是,从安全的角度,最好不要用root账户登录,因为root账户的权限太大,因此危险性也很高。就像我们登录steemit不用主密码,也不用active密码,而是使用Publish密码一样,我们登录vps,也最好不用root账户,而是用一个权限小一点的账户。

adduser [your name]

同样,新加入的用户,要按照前面1-2步骤,在lastpass上增加一个安全笔记,生成一个长随机密码,然后再拷贝到vps中。

然后用
usermod -aG sudo [your name]
把用户加入到sudo群里面。测试一下,你新增的用户的确拥有了sudo权限:
su [your name]
ls /root
如果切换到你新增的用户,还能够用sudo 访问/root目录,就说明一切正确了。
你可以用exit切换回root。

  1. 终止root用户远程登录(这里使用nano文本编辑器,但是你可以用任何你喜欢的文本编辑器):
    nano /etc/ssh/sshd_config
    打开ssh的配置文件,找到
    #PermitRootLogin yes
    把前面的“#”去掉,把“yes” 改为“no”:

PermitRootLogin no
保存文件,退出。

  1. 重启ssh 服务:
    service ssh restart
  2. 先不要退出目前运行的远程任务。再打开一个putty,试试root远程登录,看看能不能登上去。如果登不上去,换成你新建的用户登录,确认可以登录。如果两个都不能登录,请仔细检查哪一个步骤是否有问题,或者密码是否错误,需要用
    passwd [your name] (注意,把[your name]替换为你实际设定的用户名),修改为你的lastpass中设定的密码。

如果你提前把当前的远程任务关闭了,又无法登录自己的用户名,那么你的vps就变成无法访问了。需要到服务提供商的网站上联系客服,或者干脆重新安装一份linux。这样做太麻烦,所以,再提醒一遍:保持当前的远程任务,用一个新的putty登录来测试。

  1. 测试成功,你已经基本上安全了,在ssh上不太可能受到黑客的攻击。

下一篇将讨论公钥/私钥登录的方法,这样在登录的时候就不需要输入那么复杂的密码了,同时进一步增加安全性。


科学上网指南(1)——如何购买主机
科学上网指南(2)——ssh
科学上网指南(3)——密码管理

如有任何技术问题,请留言。我有时间会给予解答。