git clone 使用非默认22端口

Mar 31, 2023

git 在使用 ssh,但端口不是默认 22 的时候是个很诡异的问题 每次都需要输入密码,而不是使用密钥登录 例如: git clone ssh://git@192.168.1.251:2022/changshu.li/demo.git

ssh 非22端口的时候 git clone 的地址一定要有 ssh:// 协议头部 !

解决方法是 在 .ssh/config 文件中 Host 使用个简单的别名如 gitlab,同时分别配置 Hostname 和 Port, 如下

Host gitlab
  User         git
  HostName     192.168.1.251
  Port         2022
  IdentityFile ~/.ssh/your_id_ras

然后地址 git clone ssh://git@gitlab/xxx/xxxx.git 即可,注意要有 ssh:// 协议头!

<完>