1. 程式人生 > >Gogs與Linux主機共享SSH22埠

Gogs與Linux主機共享SSH22埠

前言

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 [email protected]127.0.0.1 \
    "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 [email protected]"
    END
    
    $ chmod 755 /app/gogs/gogs       # 授予755許可權之後&執行一下

    到這裡共享22埠配置就完成了, 只剩下web配置就大功告成了.

  • 開啟 Chrome瀏覽器, 把剩下的配置配置完成就OK了. 注意:web配置裡面的ssh埠要填22了哦

相關推薦

GogsLinux主機共享SSH22

前言 Gogs 是一個Git伺服器, 跟Github 和 GitLab 很像; 但它是用Go語言編寫的, 比GitLab更輕量化, 功能也很齊全. 但是, Gogs不管你是在物理機上面直接搭建的 or 跟我一樣使用Docker構建的 Gogs 容器都存在一個

windowsLinux檔案共享Samba協議配置

1、  下載及安裝Samba         yum -y install samba      若有samba服務不需要下載 2、  

windowslinux之間共享資料夾訪問

一、安裝環境 本機系統:Windows 7 旗艦版 VMware:VMware Workstation 9.0 CentOS:CentOS 5.10 網路介面卡設定為:NAT 轉換 二、檢視是否已經安裝“samba” 命令:rpm -qa|grep samba 輸出結果:

windows QTCreator linux qmake 共享pro的方法

1. QTCreator 4.7.4 開啟專案後,看左邊的選單; 2. 點選專案->構建設定->構建步驟->額外的引數: CONFIG+=WINPC 3. 可以從有效的qmake 呼叫那裡看到 qmake.exe D:\jq\t30\t30qt\t3

win7linux網路共享掛載nfs配置

網路檔案系統(NFS,Network File System)是一種將遠端主機上的分割槽(目錄)經網路掛載到本地的一種機制,通過對網路檔案系統的支援,使用者可以在本地系統上像操作本地分割槽一樣來對遠端主機的共享分割槽(目錄)進行操作。(類似於windows共享目錄) ==

虛擬機器Vmware下UbuntuWindows主機共享資料夾

1.點選編輯虛擬機器設定,選擇選項 2.選定windows下的一個資料夾作為共享檔案 3.在ubuntu下檢視此資料夾,在/mnt下 cd /mnt 下面是我的共享資料夾位置 若想要Vmware多臺linux機子共享資料夾,就可以重複上面的

linuxlinux之間共享目錄

其他 查看 service mount nfs 最好 文件 127.0.0.1 3.1 secure 1.安裝必要的包 nfs-utils rpcbind (nfs是基於sun公司的rpc通信實現的,所以要裝rpcbind) 這2包,在服務端和客戶端都需

Linux系統文件誤刪除恢復方法;宿主機windowsLinux文件共享

guest 12c 移動 應該 管理 figure package watermark restore 實驗項目:Linux系統文件誤刪除恢復方法; 宿主機windows與Linux文件共享 實驗環境:一:VMware虛擬機,Linux系統RedHat6.5(什麽版本不重要

Linux 主機虛擬機網橋制作網卡鏈路聚合

linux 基礎運維學習一、網橋制作1、主機的網橋制作 刪除主機的/etc/sysconfig/network-scripts/ifcfg-enp0s25 在/etc/sysconfig/network-scripts/ifcfg-br0目錄下添加文件 #編輯主機的物理網卡文件 vim /etc

2. LINUX主機規劃磁盤分區

linux 磁盤基本知識 分區A. 安裝Linux前,需要對使用了解後進行規劃, 你必須要針對districtions的特性,服務器軟件能力,未來的升級需求,硬件擴充性B. 對所安裝的主機進行磁盤分區規劃 目錄規劃 權限規劃 IP規劃2.1 Linux與硬件的搭配 (目前品牌的服務器都基本支持LI

VirtualBox使用Centos7主機共享文件夾

inux 網絡 make 虛擬機 headers 外部 com 技術問題 主機 最近使用VitrtualBox安裝Centos7學習,liunx腳本和一些命令,經過一些研究完成了虛擬機與 主機共享文件夾,虛擬機鏈接外部網絡,主機與虛擬機互相通信。在其中遇到一些我解決的技術問

Linux系統共享宿主機Windows系統中文件

1111本文需求與目的:在Linux系統中許多文件不能直接從虛擬機中拖入系統,當文件存在或者文件夾存在宿主機Windows系統中,我們需要通過共享讓Linux系統可以使用這些文件。Linux系統共享宿主機Windows系統中文件

Linux中SambaNFS的共享示例

Linux中Samba與NFS的共享示例在這裏面所有的服務器為CentOS 6.9,samba客戶端和NFS客戶端均為CentOS 7.2要完成以下操作需要安裝的軟件包:yum install httpd mariadb-server(CentOS6.9是mysql-server)nfs-utils sam

使用Windows 2008R2中的NFS替代Samba協議,解決Windows Linux共享文件的問題

acc 無法 xen 右鍵 nfs服務 sina 存儲 選擇 顯示 一、在Windows服務器上進行安裝NFS服務 首先,打開服務管理器,選擇添加角色; 選中文件服務,下一步; 出現一個提示,不管它,繼續下一步; 在接下來

Samba服務搭建實現WindowsLinux系統之間資源共享

img -o common system 用戶 emctl 服務 ssd ons 1安裝服務#yum -y install samba samba-client samba-common查看#rpm –qa | grep samba修改配置文件先備份#cp smb.con

搭建NFS服務 實現LinuxLinux之間的文件共享

安裝 linux與 查看 ext water 9.png 創建 src mark 服務端:(1)掛載鏡像(2)安裝nfs服務(3)在home目錄下創建/nfs目錄/home/nfs(4)配置 /etc/exports文件(5)開啟rpcbind和nfs服務 客戶端:(1)安

【VMware】[vm tools]安裝VMtools時出現的錯誤,無法主機共享檔案

**主機:WIN7旗艦版 - 64bit 虛擬機器版本: 11.0.0 build-2305329 客戶機:ubuntu-16.04.2** 在安裝vm tools 時出現的問題,除了共享檔案的功能不能正常安裝,其餘功能都可實現。 出現的錯誤: make: Entering

tcpdump抓包linux下網路使用的問題

1、 linux下可以用 tcpdump 工具進行網路抓包; 2、抓包的命令為:    2.1  ~# tcpdump  抓取所有的包;    2.2  ~# tcpdump  抓取指定網路介面的包; &

windows的Nfslinux共享

1:首先是在linux下設定nfs資料共享 [[email protected] ~]# more /etc/exports  /app   192.168.12.134(rw,no_root_squash) 然後執行: [[emai

VMware中Linux虛擬機器掛載主機共享資料夾的方法

  注意:要在主機與虛擬機器中設定共享資料夾,需要安裝VMware Tools或open-vm-tools工具。open-vm-tools可能不能自動掛載共享資料夾。自動掛載點是“/mnt/hgfs”。   1、進入VMware選單欄中的虛擬機器設定選項——共享資料夾設定中新增主機中用來給客戶機共享的目錄。