通过 root 登录服务器后,首先新建一个普通管理员账号:

1
2
3
adduser xyk
usermod -aG sudo xyk
su - xyk

写入 SSH key:

1
2
3
4
5
6
mkdir -p ~/.ssh
chmod 700 ~/.ssh
cat > ~/.ssh/authorized_keys <<'EOF'
[SSH_KEY]
EOF
chmod 600 ~/.ssh/authorized_keys

sudo 免密码:

1
2
3
echo "xyk ALL=(ALL:ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/xyk-nopasswd > /dev/null
sudo chmod 440 /etc/sudoers.d/xyk-nopasswd
sudo visudo -cf /etc/sudoers.d/xyk-nopasswd

安装 vim 并设置为默认编辑器:

1
2
sudo apt install -y vim
sudo update-alternatives --set editor /usr/bin/vim.basic

测试可以用 SSH key 登录后,修改登录策略:

1
sudo vim /etc/ssh/sshd_config

配置:

1
2
3
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no

改完重启服务:

1
sudo systemctl restart ssh

新建 SSH 密钥用于连接 Github 等:

1
2
ssh-keygen -t ed25519 -C "server"
cat ~/.ssh/id_ed25519.pub