Skip to content

ssh

部署 ci 服务器 ssh 设置

添加公钥 ssh

sh
mkdir -p /home/deploy/.ssh

vim /home/deploy/.ssh/authorized_keys

copy 公钥,如:ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMGHoCP/r4RhUppntCddCDARXFX0pdUVlFYlKMFMuccS

sh
chown -R deploy:deploy /home/deploy/.ssh

chmod 700 /home/deploy/.ssh

chmod 600 /home/deploy/.ssh/authorized_keys

在本地验证一下,如:

ssh -o PasswordAuthentication=no my-cc

关闭ssh密码登录

sh
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

sudo vim /etc/ssh/sshd_config

修改配置

sh
# 公钥登录
PubkeyAuthentication yes

# 密码登录
PasswordAuthentication no

# root 登录
PermitRootLogin no
sh
# 验证语法,空白表示没错
# sudo /usr/sbin/sshd -t
sudo sshd -t

sudo systemctl restart ssh

sudo systemctl status ssh

创建 ssh key

迁移至 stairs/linux/ssh

ssh-keygen -t ed25519 -f ~/.ssh/cn_ed25519 -C "cn server"

使用

方式一

ssh -i ~/.ssh/cc_ed25519 deploy@q123q.cc

方式二

vim ~/.ssh/config
Host my-cc
    HostName q123q.cc
    User deploy
    IdentityFile ~/.ssh/cc_ed25519
    IdentitiesOnly yes

注意,只有 ssh my-cc 才会走 cc_ed25519,ssh q123q.cc 是不走的。

创建 ci ssh key

sh
ssh-keygen -t ed25519 -f ./ci_deploy_ed25519 -C "ci deploy key"

放入服务器

sh
sudo -u deploy mkdir -p /home/deploy/.ssh

sudo vim /home/deploy/.ssh/authorized_keys

sudo chown -R deploy:deploy /home/deploy/.ssh
sudo chmod 700 /home/deploy/.ssh
sudo chmod 600 /home/deploy/.ssh/authorized_keys

fed dist 参考

sh
mkdir -p ~/.ssh
echo "$DEPLOY_KEY" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key

ssh-keyscan -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts

scp -i ~/.ssh/deploy_key -r dist/* "$DEPLOY_USER@$DEPLOY_HOST:/opt/apps/xxx/"

关闭服务器 密码 ssh

sh
sudo vim /etc/ssh/sshd_config

ssh 隧道

隧道

Host cc-pg
    HostName q123q.cc
    User qin
    IdentityFile ~/.ssh/cc_ed25519
    IdentitiesOnly yes
    LocalForward 15432 127.0.0.1:5432
ssh -N cc-pg

原始命令

sh
ssh -N -L 15432:127.0.0.1:5432 cc