配置远程服务器

  1. 创建用户
  2. 配置docker

推荐配置服务器密钥对,然后通过 ssh 登录

ssh root@ip地址

安全组配置中配置规则开通防火墙如:3000,3001,5000,8000,8080。

用户权限

  • 推荐只在root用户中安装docker
  • 每个应用创建一个独立用户,并加入 docker 用户组
  • 不要使用 root 管理所有应用

创建独立用户

sudo adduser <username> // 然后输入密码,一直回车就好了

安装 docker

 sudo apt-get update
 
 sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
 sudo mkdir -p /etc/apt/keyrings
 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

安装完成

sudo service docker start
sudo docker run hello-world

可选 :docker network create network1

将用户加入docker

usermod -a -G docker <username>

加入之后这时候直接尝试使用新的用户通过ssh登录,会显示被拒绝

ssh testuser@ipaddress

![[Pasted image 20220930194400.png]]

先进入 root 用户,然后 cd ~/.ssh/,输入 ls 可以看见里面有个 authorized_keys 文件,这个就是ssh密钥了,将这个 cp 到你新的用户的.ssh

mkdir /home/testuser/.ssh
cp authorized_keys /home/mangosteen/.ssh/

到这一步还没有完成,还需要将控制器转给新用户

cd ..
chown -R testuser:testuser .ssh
ls -la

然后新的用户就能够操作docker了。

oh-my-env 里运行 bin/pack_for_host.sh 然后在Windows里运行 mangosteen_deploy/setup_host.sh

EDITOR='code --wait' bin/rails credentials:edit

EDITOR='code --wait' bin/rails credentials:edit --environment production

DB_HOST=db-for-mangosteen DB_PASSWORD=123456 RAILS_MASTER_KEY=1af1a0cbf3a7292f3de058b636419b85 mangosteen_deploy/setup_host.sh

docker exec -it mangosteen-prod-1 bin/rails db:create db:migrate
授权码 dpdenbvkkkrmbdad

yunfuwuqi 47.101.150.38

master_key: fd92b5a56e7e3e9f6c517151aeb197e2
production_key: 1af1a0cbf3a7292f3de058b636419b85


secret_key_base: 260a839140cc3f61026b80de269e7dde0b95ef0c951ea045b4d8009b47137f3c4c8b4beb21c79625d732c1978570cd0e4b814de722ee9c16826b29d44f30758b

email_password: dpdenbvkkkrmbdad

hmac_secret: a149c7d9-7d77-4990-abbe-f6ad32265eeb

解决远程连接UbuntuSSH自动断线问题

平时在命令行下ssh连接了远程服务器,经常才几分钟没操作就被自动断线了,不能进行任何操作,其实这是因为ssh没有设置心跳检测,可以通过以下两种方法解决。

  1. 依赖ssh客户端定时发送心跳检测,配置/etc/ssh/ssh_config文件,在末尾添加上
    image-1666604494282
ServerAliveInterval 20
ServerAliveCountMax 999
  1. 依赖ssh服务器端定时发送心跳检测,配置/etc/ssh/sshd_config文件(注意:这里是sshd_config,不是ssh_config),在末尾添加上,

image

 ClientAliveInterval 30
 ClientAliveCountMax 6
  1. 然后重启
service sshd restart