ubuntu服务器配置
OS: Ubuntu 20.04.6 LTS
配置系统
# 更新以及升级 系统
apt update && apt upgrade -y
# 安装通用工具
apt install wget curl sudo vim git nano -y
# 修改时区 Asia/Shanghai
sudo timedatectl set-timezone Asia/Seoul
docker安装
curl -fsSL https://get.docker.com | bash -s docker
# 或者
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
参考资料:https://github.com/docker/docker-install/
普通用户赋予docker权限
# 查看当前用户组中是否有docker组
sudo cat /etc/group | grep docker
# 如果没有则创建
sudo groupadd docker
# 将用户加入docker组
sudo usermod -aG docker $USER
# 退出用户重连即可
中国境内拉取镜像方法
# 原始镜像位置 consol/debian-xfce-vnc
# 自己假设的dockerhub镜像代理服务器dockerhub.lararu.com
docker pull dockerhub.lararu.com/consol/debian-xfce-vnc
#或者运行docker run的时候在最后镜像位置加入
docker run -itd \
-p 9601:6901 \
-p 9602:5901 \
-e VNC_RESOLUTION=1280x720 \
-e VNC_PW=1234 \
-v $(pwd)/data:/headless/Desktop/data \
--user 0 \
dockerhub.lararu.com/consol/debian-xfce-vnc # 修改了这段
CasaOS安装
https://blog.lararu.com/archives/casaos-settings
1Panel安装
# ubuntu
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
# debian
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh
参考资料:
开启root ssh
# 安装 openssh-server服务
apt update && apt install openssh-server sudo -y
# 运行 openssh-server
service ssh start
# 修改root密码
echo 'root:1234' | chpasswd
# 确认sshd_config配置文件是否存在
cat /etc/ssh/sshd_config
# 追加开启root ssh的配置到sshd_config文件,并且重启ssh服务
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config &&
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config &&
service sshd restart
网络穿透服务
tailscale
# tailscale
# https://login.tailscale.com/admin/machines
curl -fsSL https://tailscale.com/install.sh | sh
# 确认连接
https://login.tailscale.com/admin/machines
# 自动更新
tailscale set --auto-update
修改用户root工作目录
# 查看默认工作目录
cat /etc/passwd
# 修改配置文件
nano /etc/passwd
# 一般使用 /DATA/AppData
修改前默认工作目录配置
附加设置
存储
# 逻辑分区(LVM)扩容
# 执行命令lvdisplay查看系统逻辑分区信息
lvdisplay
# 执行命令fdisk -l查看磁盘信息
fdisk -l
# 执行命令lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv,注意后面的逻辑分区名字使用lvdisplay命令获取到的
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
# 执行 命令resize2fs /dev/ubuntu-vg/ubuntu-lv 刷新逻辑卷
resize2fs /dev/ubuntu-vg/ubuntu-lv
# 执行命令df -h查看效果
df -h
查看服务器状态
网络状态
# 显示网络地址信息
ifconfig
ip addr show
# 显示本机网络ip地址
ip addr show | grep inet
端口部分
# 查看所有的服务端口(ESTABLISHED
netstat -a
#查看所有的服务端口,显示pid号(LISTEN,ESTABLISHED)
netstat -ap
#查看某一(**)端口,则可以结合grep命令:
netstat -ap | grep **
#如查看**端口
lsof -i:**
# 若要停止使用这个端口的程序,使用kill +对应的pid
kill pid
# 还有一个比较好用的命令,查看**端口:
netstat -lnp | grep **
# 查看端口号和运行程序:
netstat -atunp | more
# 查看进程所用端口
netstat -tlnp|grep **
Fail2ban
# 安装
sudo apt-get install fail2ban rsyslog
# 启动 Fail2ban 服务,开机自启动,查看 Fail2ban 服务状态。
sudo systemctl start fail2ban &&
sudo systemctl enable fail2ban &&
sudo systemctl status fail2ban
# 修改配置文件
nano /etc/fail2ban/jail.d/defaults-debian.conf
防止sshd端口暴力破解示例
# 防止sshd端口暴力破解示例
[DEFAULT]
bantime = 600
findtime = 300
maxretry = 5
banaction = firewallcmd-ipset
action = %(action_mwl)s
#DEFAULT-END
[sshd]
ignoreip = 127.0.0.1/8 # 白名单
enabled = true
filter = sshd
port = 22 # 端口
maxretry = 2 # 最大尝试次数
findtime = 300 # 发现周期 单位s
bantime = 600 # 封禁时间,单位s。-1为永久封禁
action = %(action_mwl)s
banaction = iptables-multiport # 禁用方式
logpath = /var/log/secure # SSH 登陆日志位置
参考资料:
https://1panel.cn/docs/user_manual/toolbox/fail2ban/?h=ban#2
License:
CC BY 4.0