王德福 Wonderful

新开服务器基本设置指南

2019-07-07 · 4 min read
人生经验 实验室经验

添加超级用户安装了新服务器第一件事情就是先添加一个管理员用户,而不是直接使用 root 进行登陆,如果 root 的密码泄露了是非常严重的。同时也不要直接使用 root 登陆,基本上的操作用 sudo 就可以完成,还要什么管理员。

添加超级用户

安装了新服务器第一件事情就是先添加一个管理员用户,而不是直接使用 root 进行登陆,如果 root 的密码泄露了是非常严重的。

  1. 首先是添加一个用户 adduser username,设置好密码,一路回车加确认即可
  2. 然后就是把用户添加到 sudo: usermod -aG sudo username
  3. 大功告成了
  4. 重新开个窗口测试一下

设置 ssh key 登陆、禁用密码登陆、禁止 root 登陆

下面就该设置 ssh 登陆了,比密码登陆不知道高到哪里去了。

  1. 首先是生成 pub_key 和 private_key,推荐使用 puttykengen 来生成
  2. 产生好之后把 窗口中的公钥复制出来,放到服务器 ~/.ssh/authorized_keys文件中,注意一定要是一行,而不是多行,直接复制窗口中的公钥,而不是 save public key
  1. 然后按照下面的权限修改
  2. chmod 700 ~/.ssh
  3. chmod
    600 ~/.ssh/authorized_keys
  4. chown
    USER:USER:USER ~/.ssh -R
  5. 修改 /etc/ssh/sshd_config,把里面的 AuthorizedKeysFile %h/.ssh/authorized_keys 这行改成这样
  6. 找到 PermitRootLogIn 设置成 no,这样才安全,包括自己在内没有人可以 root 登陆,平时干啥价格 sudo 就好了,实在不行 su 切换到 root
  7. 找到 Port 改成自己喜欢的端口
  8. 然后重启 ssh sudo service ssh restart
  9. 测试下能不能登陆,不能登陆再谷歌或者查 log: tail -f /var/log/auth.log
  10. 能够登陆的话就再次打开 sshd_config 文件,修改里面 PermitEmptyPasswords 为 no,即PermitEmptyPasswords no 这样就没有人能够通过密码登陆服务器了
  11. 好好保管 private key,丢了神仙也救不了,只能够从服务器控制台登陆了
  12. 出问题看这个问答

设置 ufw

下面的内容是参照 linux.cn 上的一篇文章设置的

  1. 防火墙是个好东西,设置一下没有错,按道理来说 ubuntu 都是带了 ubuntu firewall 的,不确定的话 就安装一下 sudo apt install ufw,如果啥都没装那就是本省就装了的
  2. 然后就可以添加端口了,按照这样添加 sudo ufw allow port
  3. 禁止端口 sudo ufw deny port
  4. 还可以按照协议来 enable 端口 sudo ufw
    allow 80/tcp sudo ufw allow http/tcp
  5. 还可以允许或者禁止 ip: sudo ufw allow from xx.xx.xx.xx
  6. 最后 enable 一下 sudo ufw enable
  7. 也可以 disable: sudo ufw disable
  8. 还可以查看状态: sudo ufw status
  9. 上面所有的命令都要加 sudo,如果没有加也运行了说明你是用 root 登陆的,这违反了安全原则
  10. 最后最重要的事情,ssh 的端口一定要 enable,不然就没有办法登陆了

欢迎关注我的语雀和公众号
MyQR

本文采用 BY-NC 协议

署名-非商业性使用 (BY-NC):只要在使用、公开时进行署名,那么使用者可以对本创作进行转载、节选、混编、二次创作,但不得将本创作或由本创作衍生的创作运用于商业目的。