Blog

home category

Ubuntu起始设置

16 Mar 2016

使用DigitalOcean,因为新建Droplet时未添加SSH key,到注册邮箱接收root密码。首先在本机生成SSH key用于以后的登录。

ssh-keygen -t ed25519 -C "[email protected]"

引导程序要求确定密钥存储地址和通行句(passphrase)。若提供通行句,连接需私钥和通行句。生成的私钥默认位于~/.ssh/id_ed25519,公钥~/.ssh/id_ed25519.pub

ssh-copy-id -i ~/.ssh/id_ed25519 user@host

需将本机生成的公钥传输到服务器。

adduser newuser
gpasswd -a newuser sudo

# 查看
cat /etc/group | grep sudo

安全考虑,先创建用于登录的用户,以免使用root登录。之后将用户添加到sudo组获取权限。

su - newuser

mkdir .ssh
chmod 700 .ssh

切换用户,创建用于存储用户公钥的目录,修改权限

vim .ssh/authorized_keys

# 将之前复制的公钥写入 #

chmod 600 .ssh/authorized_keys

# 退出新用户返回root
exit

将公钥粘帖到文件并修改权限,然后返回root;也可以在本机使用ssh-copy-id newuser@server命令复制

vim /etc/ssh/sshd_config

# 端口
prot 22

# 是否允许以root连接,默认yes
PermitRootLogin no

# 是否允许使用密码登录,去除注释,修改为no
PasswordAuthentication no

# 与证书登录相关,默认已设置
PubkeyAuthentication yes
ChallengeResponseAuthentication no

# 完成验证允许的时长,可控制存在的未验证连接数
LoginGraceTime 30
MaxAuthTries 3

# server每60s向client发送null packet,用于维持连接;client可设置ServerAliveInterval
ClientAliveInterval 60
# 若连续3次null packet都未收到client响应,将断开连接;client可设置ServerAliveCountMax
ClientAliveCountMax 3

# 可以选择是否允许X11 forwarding
X11Forwarding no
# 可以选择是否显示motd(message of the day)
PrintMotd no

可适当修改SSH配置,如选择阻止root登录

# service ssh restart
systemctl reload sshd

重启SSH服务。

可尝试利用另一终端登录newuser确定服务正常ssh newuser@SERVER_IP_ADDRESS,一切正常可退出当前登录。

环境

环境搭建,包括一些常用的应用

sudo apt-get update && DEBIAN_FRONTEND=noninteractive \
  sudo apt-get upgrade -yq

apt-cache search linux-headers-$(uname -r)
sudo apt-get install build-essential linux-headers-$(uname -r) vim

其中linux-headers, vim默认已安装。build-essential为以后编译安装应用作准备。

ufw

方便iptables设置而无需更多的了解iptables。ufw默认已安装,但未开启。

sudo apt-get install ufw

# 查看状态
sudo ufw status

安装并查看状态,ufw运行前只显示Status: inactive,运行后可查看状态和具体规则。

sudo ufw default deny incoming
sudo ufw default allow outgoing

# 查看支持的app
$ sudo ufw app list
Available applications:
  OpenSSH

# ufw为常用端口提供简写,如ssh, www,或使用列出的app
sudo ufw allow ssh | sudo ufw allow 22/tcp
sudo ufw allow www | sudo ufw allow 80/tcp
sudo ufw deny 8000:8009/tcp

sudo ufw allow OpenSSH

# 删除之前配置的ssh规则
sudo ufw delete allow www

修改规则命令,记住一定打开ssh/OpenSSH端口,否则之后无法连接。

sudo ufw enable | disable

# 重新载入配置,若ufw运行时修改规则,需重载入
sudo ufw reload

# 恢复默认设置
sudo ufw reset

管理命令,此时可开启ufw

其他

选择应用

sudo dpkg-reconfigure ca-certificates

选择系统信任的证书,例如取消对CNNIC_ROOT.crt的信任

sudo apt-get install fail2ban

安装Fai2Ban,开箱即用

Manual