GitLab自定义SSH端口号
本次案例的环境 Windows 设备 + Virtualbox虚拟机 安装Ubuntu系统,采用Nat网络方式配置 目标是解决避免开多个虚拟机22端口有冲突的问题
- 修改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了
- 修改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,直到网站正常运行即可
- 配置工作设备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.
注意
如果更改配置后服务器没生效,请重启,不要问为什么,你懂的