测试环境:Ubuntu 20.04

更新系统

sudo apt update && sudo apt upgrade -y

启用防火墙

安装 UFW 防火墙

sudo apt install ufw
# 安装ufw防火墙

sudo ufw default deny incoming
sudo ufw default allow outgoing
# 载入拒绝传入和允许传出的默认策略

sudo ufw enable
# 启用防火墙

添加/删除规则

sudo ufw allow 22
# 开放22端口

sudo ufw status
# 查看规则

sudo ufw status numbered
# 查看规则及规则id

sudo ufw delete 1
# 删除id为1的规则

添加非Root用户

创建非Root用户

要在ubuntu系统中添加一个新用户,你可以按照以下步骤进行操作:

  1. 打开终端并以root用户身份执行以下命令来创建新用户:

    sudo adduser ubuntu
    

ubuntu替换为你想要的用户名。

  1. 系统将提示你设置密码和其他用户信息。按照提示进行操作,设置密码和其他相关信息。

  2. 完成后,新用户将被创建并分配一个主目录。默认情况下,主目录将位于/home目录下,以用户名命名。

现在,你可以使用新创建的用户登录到ubuntu系统。

免密sudo

可以通过配置sudo来实现免输入密码的功能。以下是实现此功能的步骤:

  1. 打开终端并以root用户身份执行以下命令来编辑sudoers文件:

    sudo visudo
    
  2. 在打开的文件中,找到以下行:

    %sudo   ALL=(ALL:ALL) ALL
    
  3. 在该行下方添加以下内容:

    <username>   ALL=(ALL) NOPASSWD:ALL
    

<username>替换为你的用户名。

  1. 保存并关闭文件。请注意,使用visudo命令编辑sudoers文件可以确保语法正确性,避免出现错误。

现在,当你使用sudo命令时,将不再需要输入密码。请注意,这会降低系统的安全性,因为任何拥有你的用户账户访问权限的人都可以以管理员身份执行命令。因此,建议仅在你信任的环境中使用此功能。

配置私钥登陆

生成登录密钥


sudo su ubuntu
# 切换到ubuntu用户

ssh-keygen -t ed25519 -f ~/.ssh/hostkeys
# 生成ssh密钥,三次回车

cd ~/.ssh/

cat hostkeys
# 复制私钥,在本地电脑新建host.ppk文件,粘贴私钥,保存

mv hostkeys.pub authorized_keys
# 修改公钥名

SSH配置文件

sudo vim /etc/ssh/sshd_config
# 编辑sshd_config文件

# 在vim编辑器模式下查找:/要查找的内容
# 查找下一个:n

# ----------------------------
# 修改以下内容,如果不存在则添加
# ----------------------------

Port 8621
# ssh登陆端口

PermitRootLogin no
# 禁止使用root用户登陆

RSAAuthentication no
# 禁用SSHv1密钥登陆

PubkeyAuthentication yes
# 允许SSHv2密钥登陆

AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2
# 公钥存储路径,多个公钥用空格分隔

PasswordAuthentication no
# 禁用密码登陆

ChallengeResponseAuthentication no
# 禁用质询-响应身份验证方案

UsePAM no
# 禁用插入式验证模块(Pluggable Authentication Module,PAM)
sudo ufw allow 8621
# 开放ssh端口

sudo service ssh restart
# 重启ssh服务

使用PuTTY登陆

转换密钥格式

使用PuTTY登陆需要使用PuTTYgen工具转换密钥格式,此工具在安装PuTTY的时候默认一起安装

20210602KsQmPtDnCp.png

打开PuTTYgen,点击FileLoad Private Key,选中密钥文件,单击Sava private key覆盖密钥文件

登陆

20210602K9AzrwgXBU.png

  1. 输入服务器ip地址与ssh端口
  2. 给服务器命名
  3. 点击Data,在Auto-login username输入登陆用户名
  4. 依次点击SSHAuth,找到Private key file for authentication:,点击Browse,选中密钥文件
  5. 单击Session,点击Sava,点击Open即可连接到服务器

参考链接

  1. https://blog.knownsec.com/2012/05/ssh-%E5%85%AC%E9%92%A5%E8%AE%A4%E8%AF%81/

  2. https://www.howtoing.com/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04

  3. https://zhuanlan.zhihu.com/p/34786514

  4. https://blog.knownsec.com/2012/05/ssh-otp-%E8%AE%A4%E8%AF%81/

  5. 使用UFW工具配置防火墙