GitLab自定义SSH端口号

2,053 阅读2分钟

GitLab自定义SSH端口号

本次案例的环境 Windows 设备 + Virtualbox虚拟机 安装Ubuntu系统,采用Nat网络方式配置 目标是解决避免开多个虚拟机22端口有冲突的问题

  1. 修改Linux ssh服务端口 默认是22,我们案例是23456 所属配置文件sshd_config中的Port
vi /etc/ssh/sshd_config
# 修改
Port 23456

# 保存,重新启动sshd服务
systemctl restart sshd

# 检查配置是否生效
netstat -anop | grep 23456
root@roche:~# netstat -anop | grep 23456
tcp        0      0 0.0.0.0:23456           0.0.0.0:*               LISTEN      2345/sshd: /usr/sbi  off (0.00/0/0)
tcp        0      0 10.0.2.15:23456         10.0.2.2:61181          ESTABLISHED 2406/sshd: roche [p  keepalive (7168.37/0/0)
tcp6       0      0 :::23456                :::*                    LISTEN      2345/sshd: /usr/sbi  off (0.00/0/0)

# 出现有LISTEN 对应的 23456 端口信息,那么就OK了
  1. 修改gitlab配置文件/etc/gitlab/gitlab.rb中的ssh端口
vi /etc/gitlab/gitlab.rb
# 增加行
gitlab_rails['gitlab_shell_ssh_port'] = 23456

#  执行配置生效和重新启动gitlab服务
gitlab-ctl reconfigure
gitlab-ctl restart 

# 注意,在reconfigure, restart过程不应该出现异常,只要正常执行完整就可以,这里用时间有一点点,服务比较多.在宿主机的浏览器可以访问gitlab,直到网站正常运行即可
  1. 配置工作设备ssh config信息,以windows举例
# 使用工具gitbash 进入ssh工作目录
cd ~/.ssh   (等效cd /c/Users/xus73/.ssh)
vi config

# Roche-Digital
Host gitlab.xxx.cn
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_ed25519

# 本次实验的是自己机器安装的虚拟机,采用了Nat网络
# 注意这里与其他地方不同的是,这里需要改变默认的ssh端口22为23456,增加Port项
Host "127.0.0.1"
  PreferredAuthentications publickey
  #User git
  Port 23456
  IdentityFile ~/.ssh/local_me

Host gitee.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa

# 保存


进入工作空间,拷贝demo工程
$ git clone ssh://git@127.0.0.1:23456/root/test_20221024.git
Cloning into 'test_20221024'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), 231 bytes | 231.00 KiB/s, done.

注意

如果更改配置后服务器没生效,请重启,不要问为什么,你懂的