我正在尝试通过 ssh 从不同的 ip 连接到 ubuntu 16.04 本地开发服务器,该服务器具有 gitlab 并具有公共主机名。example.com/2222
. 我的 gitlab ssh 端口是9409
我的.ssh/config
Host server
ProxyCommand ssh -W example.com:2222 username@server
IdentityFile ~/.ssh/id_rsa
现在克隆
git clone ssh://server:9409/username/test.git
它说
Cloning into 'test'...
Bad owner or permissions on /.ssh/config
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
-W
在我的情况下也需要?我还是不知道是ssh -W
什么
编辑:
我chmod 600
现在得到了ssh_exchange_identification: Connection closed by remote host
我仍然认为我的配置文件有问题
根据澄清,让我首先注意这里涉及三个可能不同的用户名:
example.com
,比如说user1
。user2
. 例如,这是您为其添加公钥的 Gitlab 帐户。git
,而且几乎可以肯定不是在 Gitlab 中注册的用户名。这取决于 Gitlab 的配置。鉴于此,我认为这就是您的 ssh 配置的外观:
对于克隆,你应该这样做:
无论如何,您指定的
IdentityFile
默认情况下都会使用,因此可以省略,除非您的 SSH 配置中存在其他冲突设置。