华为云主机

Tags: ECS, Linux, Ubuntu Date: March 22, 2024 Status: Not started

  • [x] 配置用户
  • [x] 配置ssh
  • [x] 配置zsh
  • [x] 配置docker
  • [x] 配置外网出口
  • [ ] ssh(端口转发、穿透)
  • [ ] frp 转发穿透
  • [ ] ci/cd流水线

地址

用户

看完这篇Linux基本的操作就会了

Linux用户和权限管理看了你就会用啦 - 掘金

LINUX-TUTORIAL

## 修改密码
passwd
## 新增用户组
groupadd -g 344 gxhao
## 新增其他用户
useradd -d /home/gxhao -g gxhao -m gxhao
## 修改主目录
sudo usermod -d /home/gxhao gxhao
## 添加sudo权限
### 1、以 root 身份登录系统。
### 2、执行以下命令打开 sudoers 文件:
sudo visudo
### 3、在文件中找到 root ALL=(ALL:ALL) ALL 这一行,添加以下内容:
gxhao ALL=(ALL:ALL) ALL
### 保存文件并退出。

shell

## 安装zsh
sudo apt install zsh
## 安装oh my zsh
sudo sh -c "$(curl -fsSL https://gitlab.aiursoft.cn/gxhao/ohmyzsh/-/raw/master/tools/install.sh)"
## 安装自动输入插件
### 1、Clone this repository into $ZSH_CUSTOM/plugins (by default ~/.oh-my-zsh/custom/plugins)
git clone ssh://git@gitlab.aiursoft.cn:2202/gxhao/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

### 2、Add the plugin to the list of plugins for Oh My Zsh to load (inside ~/.zshrc):
plugins=( 
    # other plugins...
    zsh-autosuggestions
)
### 3、Start a new terminal session.

file

ssh

深入了解SSH

## 生成ssh key
git config --global user.name 'gxhao'  
git config --global user.email '1625546088@qq.com'
# 生成密钥(注意设置git账号密码
ssh-keygen -t rsa -C '1625546088@qq.com'
# 检测是否配置成功
 ssh -T git@github.com
 
# 配置免密码登录
## 新增远程服务器文件
.ssh/authorized_keys
## 直接命令执行
ssh-copy-id gxhao@116.205.246.217
## 查看登录日志
sudo cat /var/log/auth.log | grep sshd

# (Authentication refused: bad ownership or modes for file /home/gxhao/.ssh/authorized_keys)

##登录配置
###SSH 登陆服务器需要知道服务器的主机地址(主机名或主机 IP 地址),用户名和密码,有时还要指定端口号(默认 22 )。主机名还好,但是主机IP 地址就比较难记的,特别是当你可能要登录十几台服务器时。一般我们使用的登陆命令如下:

# 登陆目标服务器( 172.17.132.120 )
ssh -p 58422 user@172.17.132.120
# 通过跳板机登陆目标服务器( 172.17.132.120 )
ssh -p 58422 user@jumper.example.com ssh user@172.17.132.120
# 端口映射
ssh -p 58422 user@jumper.example.com -fNL 5433:172.17.132.120:5432 -N

注:如果配置authorized_keys仍无法免密码登录,需要检查权限及所有组

SSH Authentication Refused: Bad Ownership or Modes for Directory

配置clash for linux

防火墙

查看想开的端口是否已开:sudo firewall-cmd --query-port=6379/tcp
添加指定需要开放的端口:sudo firewall-cmd --add-port=123/tcp --permanent
重载入添加的端口:sudo firewall-cmd --reload
查询指定端口是否开启成功:sudo firewall-cmd --query-port=123/tcp
移除指定端口:sudo firewall-cmd --permanent --remove-port=123/tcp
查看已开端口:sudo firewall-cmd --list-ports

端口转发:yum install -y nc
nc --sh-exec "nc 192.168.0.204 8080" -l 18080  --keep-open &

安装docker

## 安装常用软件
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  ## 添加软件源的gpg密钥
  curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

   ## 然后,我们需要向 sources.list 中添加 Docker 软件源
   echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  ## 安装docker
   sudo apt-get update
   sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose
   ## docker-compose文件路径
   sudo chmod +x /usr/local/bin/docker-compose
   ## 添加用户组
   sudo groupadd docker
   sudo usermod -aG docker $USER
   logout

安装对应的docker容器

###nginx
docker run -itd --name nginx -e TZ="Asia/Shanghai" -p 80:80 --restart=always nginx
### dozzle
docker run --detach --volume=/var/run/docker.sock:/var/run/docker.sock -p 8080:8080 --restart=always amir20/dozzle

在华为云配置对外出口规则

file

FRP

服务端配置

## 上传frp文件,其中,/path/to/local/file是本地文件的路径,username是远程服务器的用户名,remote是远程服务器的IP地址或主机名,/path/to/remote/directory是远程服务器上文件存储的目录路径。
scp /path/to/local/file username@remote:/path/to/remote/directory
## 配置systemd
sudo vim /etc/systemd/system/frpc.service
## 修改配置文件

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /home/eproot/frp/frpc -c /home/eproot/frp/frpc.toml

[Install]
WantedBy = multi-user.target

## 启动服务
# 启动frp
sudo systemctl start frpc
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frpc
# 开机自启动
sudo systemctl enable frpc

使用 NSSM(Non-Sucking Service Manager)将 Windows exe 文件作为服务启动。NSSM是一个免费的开源工具,可以将任何标准的Windows可执行文件转换为 Windows 服务。具体操作步骤如下:

  1. 下载 NSSM 工具,可以从官网(https://nssm.cc/download)下载最新版本。

  2. 解压 NSSM 工具,将 nssm.exe 文件放到 exe 文件所在目录。

  3. 打开命令提示符,使用管理员权限运行。

  4. 进入 exe 文件所在的目录,输入以下命令创建服务:

    nssm install ServiceName "C:\path\to\exe\file.exe"
    
    

    其中 ServiceName 为服务的名称,"C:\path\to\exe\file.exe" 为 exe 文件的路径。

  5. 完成后会弹出 NSSM 的配置窗口,可以在其中设置服务的启动参数、工作目录等。

  6. 点击“Install Service”按钮,服务就会被安装并启动。

NSSM 还支持服务的启动、停止、重启等操作,可以使用以下命令:

nssm start ServiceName
nssm stop ServiceName
nssm restart ServiceName

映射对应的容器日志

dozzle

ci/cd流水线

gitlabrunner