美文网首页
Gogs与Linux共享SSH22端口

Gogs与Linux共享SSH22端口

作者: Dev_Mo | 来源:发表于2017-12-11 23:42 被阅读0次

前言

Gogs 是一个Git服务器, 跟Github 和 GitLab 很像; 但它是用Go语言编写的, 比GitLab更轻量化, 功能也很齐全.

但是, Gogs不管你是在物理机上面直接搭建的 or 跟我一样使用Docker构建的 Gogs 容器都存在一个问题; 那就是SSH服务已经占用了22端口; 导致你要么更改其他的端口连接到你的服务器或者 Gogs 服务器监听其他的端口上的SSH 连接. 这两种选择对于有强迫症来说, 简直是不能忍!~

git@server_ip:10022/username/project.git    #这是非常不好看的.我希望他跟Github一样的整洁
git@server_ip:username/project.git      #跟Github一样,完美~~

操作步骤

下面我就用详细的操作教你, 在Linux 和 Docker - Gogs 之间共享22端口.

  • 新建一个用户 git 并且给它 UID 1000,GID 1000;

    $ adduser git
    
  • 下面就可以重新运行Gogs 容器了, 127.0.0.1 环回IP限制只能本地使用SSH服务连接到Gogs, 提高容器的安全性.

    $ docker run --name=gogs -v ~git/gogs:/data -p 127.0.0.1:10022:22 -p 3000:3000 \
     --link=mysql:db -d gogs/gogs
    
  • 使用刚刚创建的git用户, 创建一个 ~git/gogs/git/.ssh~/.ssh 的链接

    $ su git      # 登录git用户
    $ ln -s ~/gogs/git/.ssh ~/.ssh
    
  • 为 git 用户生成一个SSH密钥, 并将其添加到 '.ssh/authorized_keys' 中

    $ ssh-keygen -t rsa -P ''     # 全部默认即可, 直接回车
    $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
  • 为了安全, 还要打开 ~git/.ssh/authorized_keys, 在文件最开始添加以下语句:

    $ vi ~git/.ssh/authorized_keys        # 打开authorized_keys,然后定位到开头的位置
    no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty 
    # 添加好之后我们查看一下authorized_keys是不是下面这样的形式
    $ cat ~git/.ssh/authorized_keys
    > no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa...
    
  • 好了,到了这里就将近完成了90%,离最后的胜利还差一点点操作. 接下来的操作也是最核心关键的.

    完成了前面的所有操作之后, 我们现在要退出 git用户,用root来操作了哦

    $ mkdir -p /app/gogs/
    $ cat >/app/gogs/gogs <<'END'
    
    #!/bin/sh
    ssh -p 10022 -o StrictHostKeyChecking=no git@127.0.0.1 \
    "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"
    END
    
    $ chmod 755 /app/gogs/gogs        # 授予755权限之后&运行一下
    

    然后共享22端口配置就完成了.只剩下web配置就大功告成了.

  • 打开 Chrome浏览器, 把剩下的配置配置完成就OK了. 注意:web配置里面的ssh端口要填22了哦

相关文章

  • Gogs与Linux共享SSH22端口

    前言 Gogs 是一个Git服务器, 跟Github 和 GitLab 很像; 但它是用Go语言编写的, 比Git...

  • 内网搭建gogs

    一. gogs集成包下载: 1.下载gogs安装包;2.上传gogs_**.tar.gz文件到linux服务器上 ...

  • 阿里云轻量服务器使用体验

    买服务器不到2周,已经断流2次了,上面有个wordpress博客,无论如何访问不到,ssh22端口连不上,重置了系...

  • CentOS 7 搭建 gogs Git 服务器

    CentOS 7 搭建 gogs Git 服务器 本地环境如下: Linux 系统环境为:CentOS Linux...

  • MERCY渗透实战

    信息收集 开放的端口服务有: smb枚举探测 139和445的共享服务端口,用enum4linux探测一下 发现q...

  • Linux下NFS的最简配置(配置nfs)

    两台linux之间共享就使用nfs共享linux 与 windows 使用samba共享比较好 情况说明 首先有两...

  • 【Linux】 Centos7 NC探测端口命令

    linux centos7 测试端口的连通性, 分别测试TCP端口与UDP端口安装nc命令 一、nc命令检测...

  • samba

    samba(smb) samba服务windows和linux之间互相共享文件端口:139 服务器端: 服务端 客户端

  • Linux下gogs迁移

    0.准备 源服务器:系统:CentOS Linux release 7.3.1611 (Core)gogs仓库大小...

  • Linux基础学习

    Linux linux与windows共享文件夹 有的时候即使安装了vmtools仍然不能查看到具体的共享文件夹。...

网友评论

      本文标题:Gogs与Linux共享SSH22端口

      本文链接:https://www.haomeiwen.com/subject/fqxgixtx.html