gitlab实现git clone命令

1、首先将服务器ssh端口改成2048(只要不是22端口就行)
2、修改centos的文件/etc/ssh/sshd_config, 取消以下参数的注释或是修改其值

GatewayPorts yes
TCPKeepAlive yes
ClientAliveInterval 60
ClientAliveCountMax 3

3、内网PC执行

$ autossh -p 2048 -M 27400 -fNR '*:22:0.0.0.0:22' -o ExitOnForwardFailure=yes root@remoteip

其中的参数:
-p 27000: vps ssh 端口,默认值22
-M 27440: 中继服务器(vps)的代理服务监听端口,需保证不被vps其它进程占用
-NR '*:27401:localhost:27402': 端口映射,vps的27401端口映射到内网PC的27402端口
root@222.222.222.222: vps的用户名及IP
这里涉及到4个端口,27000是vps ssh的监听端口,27400是vps代理服务的监听端口,27401和27402是    vps与内网PC之间的一对端口映射,外网PC需要通过vps的27401端口访问内网。

配置autossh服务
使用以上指令已经可以完成所需的功能了,但是每次开机都得重新输一遍,很不方便,所以可以把指令封装成一个服务,然后设置为开机启动。在ubuntu中,可以在lib/systemd/system目录下新建一个autossh.service的文件,并输入以下内容:

[Unit]
Description=Auto SSH Tunnel
After=network-online.target
[Service]
User=root
Type=simple
ExecStart=/usr/bin/autossh -p 27000 -M 27400 -NR '*:27401:localhost:27402' root@222.222.222.222 -i ~/.ssh/id_rsa
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
StartLimitIntervalSec=5
StartLimitBurst=12
Restart=always
[Install]
WantedBy=multi-user.target
WantedBy=graphical.target

配置好后,通过以下指令完成启动、查询和自启动。

启动服务:sudo service autossh start
查看状态:sudo service autossh status
开机启动:sudo systemctl enable autossh.service
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值