ssh端口转发

cd ~/.ssh/
vim config
写入以下内容:
HostName 121.41.211.120
User web
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 30



User web: web可随意起名,只是用于标识
其余的见名知意即可
登录121.41.211.120的时候只需要 ssh web 即可



端口转发
ssh -CfNg -L 3315:<目标机ip>:3306 web



参数
说明



C
压缩数据



f
后台用户验证,这个选项很有用,没shell的不可登陆账号也能使用



N
不执行脚本或命令



g
允许远程主机连接转发端口



L
本地转发



web 表示跳板机,见上一步的配置
本机与目标机通过跳板机建立了一条隧道,通过命令: ps -ef | grep ssh 可以查看是否建立成功与否
简单点说:本机的3315端口就是目标机的3306端口。
有时候可能需要连数据库也需要连redis,这就需要做多个端口转发,为了避免敲多次命令,可以写个shell脚本:
port_forward.sh 放到~/下,每次到开终端,只需执行: ./port_forward.sh即可建立端口转发



#!/bin/bash
echo “port forwarding starting…”



ssh -CfNg -L 3315:rds2uq3qm7vrq2a.*.aliyuncs.com:3306 web
ssh -CfNg -L 6739:10.168.*.201:6739 web










ps -ef grep ssh


shell中的 ps -ef | grep ssh是为了查看转发是否成功

Mac 环境下使用”公钥文件”,登录跳板机,再转到 服务器一般有2种形式:
使用第三方工具,如SecureCRT。
在Terminal中直接使用ssh命令。
Case 1: 使用SecureCRT登录时,在 [Options] -> [Global Options] -> [SSH2],选项中,勾选:使用Ssh-Agent进行转发,即可。




  1. 创建端口转发
    这里以Linux/Macos系统为例



ssh -N -f -L 127.0.0.1:1022:server2:22 user1@server1
-N 表示该命令不执行远程命令
-f 表示该命令在后台运行
-L 表示设置端口转发, 127.0.0.1:1022为本地的目标端口,server2:22表示将转发局域网内服务器的22号端口


Category docker