SSH相关操作

前言

由于公司云服务器的PostgreSQL漏洞,服务器被人挂马挖矿了,所以即修复了pgs的权限,又增加了ssh的连接限制

之前
工作机 --> 任意云服务器

现在
工作机 --> 跳转机 --> 任意云服务器

使用

麻烦的操作

每次链接都太鸡儿麻烦了

1
2
# 工作机 --> 跳转机 --> 任意云服务器
ssh jump_user@jump_host --> ssh dev_user@dev_host

极简式操作

首先在跳转机生成ssh私钥和公钥

1
2
3
4
5
ssh-keygen -t rsa -C "邮箱"

id_rsa

id_rsa.pub

然后把id_rsa.pub公钥的内容,写入到任意云服务器的~/.ssh/authorized_keys里面

之后在工作机生成ssh私钥和公钥

1
2
3
4
5
ssh-keygen -t rsa -C "邮箱"

Work

Work.pub

把Work.pub公钥的内容,写入到跳转机的~/.ssh/authorized_keys里面

之后在跳转机的~/.ssh/下新建一个config文件
config

1
2
3
4
5
6
7
8
9
10
11
12
13
Host prd
HostName xx.xx.xx.xx
Port 212
User prd_user
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes

Host dev
HostName xx.xx.xx.xx
Port 221
User dev_user
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes

这样你就可以更方便的连接服务器了

1
2
3
4
5
# 连接dev服务器
ssh dev

# 连接prd服务器
ssh prd

之后工作机的~/.ssh/下新建一个config文件,并把跳转机的~/.ssh/id_rsa私钥,复制到~/.ssh/文件夹下,命名为server_key
config

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Host jump
HostName xx.xx.xx.xx
Port 122
User jump_user
IdentityFile ~/.ssh/Work
IdentitiesOnly yes

Host prd
HostName xx.xx.xx.xx
Port 212
User prd_user
IdentityFile ~/.ssh/server_key
IdentitiesOnly yes

Host dev
HostName xx.xx.xx.xx
Port 221
User dev_user
IdentityFile ~/.ssh/server_key
IdentitiesOnly yes

这样你就可以更方便的连接服务器了

1
2
3
4
5
6
7
8
# 连接跳转机
ssh jump

# 连接dev服务器
ssh jump --> ssh dev

# 连接prd服务器
ssh jump --> ssh prd

不想先连接跳转机再连接云服务器,而是直接通过中间主机建立SSH连接
ssh -t jump ssh dev

通过SSH连接名为test的screen
ssh -t jump screen –R test

通过SSH连接名为test的tmux
ssh -t code tmux a -t test

ssh -t code ssh dev tmux a -t test

相关错误

  • 权限太开放

    chmod 600 私钥文件


参考

0%