Gogs与Linux主机共享SSH22端口
来源:互联网 发布:淘宝双十一数据统计 编辑:程序博客网 时间:2024/05/17 23:22
前言
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/shssh -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了哦
阅读全文
0 0
- Gogs与Linux主机共享SSH22端口
- linux虚拟机与windows主机共享文件夹
- Linux虚拟机与主机实现文件共享
- LINUX虚拟机实现与主机文件共享
- Linux虚拟机与Windows主机共享文件夹
- windows主机与虚拟机Linux共享文件夹
- 主机与端口信息
- 虚拟机与主机共享
- 虚拟机下linux与宿主主机文件共享
- VMware(装linux)与主机文件共享实现
- vmware 6.5 windows主机与linux共享的方法
- VMware下Linux与主机ADSL方式的共享上网
- 主机与VMware的Linux虚拟机之间共享交换文件
- 主机与VMware的Linux虚拟机之间共享交换文件
- Oracle Virtualbox虚拟机下linux与主机共享文件
- 设置windows主机与Linux虚拟机共享文件夹
- 设置windows主机与Linux虚拟机共享文件夹 .
- linux虚拟机共享主机文件的设置与访问
- Xdebug + Eclipse 单步跟踪调试PHP代码
- 02-vueJs开发环境搭建
- vue项目用js封装的md5
- 关于SSM与echart结合的问题总结
- RIOT物联网操作系统
- Gogs与Linux主机共享SSH22端口
- 03-vueJs简介
- Python语言程序设计-学习笔记4:Python编程之数据类型
- linux基本操作---磁盘管理
- 关于JS中文档碎片的理解
- webpack的一些简单操作
- 浅析Java中通过ThreadLocal实现线程绑定来传递参数
- 吴恩达deeplearning之结构化机器学习—策略(1)
- 分治算法的简介