连接超时
由于某些都懂的原因会导致无法通过ssh协议访问远程服务,当基于ssh协议访问远端代码库时会出现连接ssh 22端口超时的问题,此时咱可以修改ssh配置通过https端口来建立ssh连接
如添加及修改配置文件
~/.ssh/config
:Host github.com Hostname ssh.github.com Port 443
无访问权限
虽然能与远程服务成功建立ssh连接,但仍会出现访问远程代码库被拒绝的问题,如出现错误:
Error: Permission denied (publickey)
此时,需要确保在本地生成正确的非对称密钥,并复制其中的公钥配置到远程服务端。
首先生成某种算法的非对称密钥,配置正确的comment,如:
$ ssh-keygen -t ed25519 -C "myname@github.com"
然后在本地添加该非对称密钥,如:
$ eval "$(ssh-agent -s)" $ ssh-add ~/.ssh/id_ed25519_github
然后将该非对称密钥中的公钥信息复制配置到远程服务端
$ cat ~/.ssh/id_ed25519_github.pub
接着在ssh配置文件中指定使用的私钥,如修改配置文件~/.ssh/config:
Host github.com Hostname ssh.github.com Port 443 IdentityFile ~/.ssh/id_ed25519_github
config文件权限错误
按上述方法配置好文件
~/.ssh/config
以后,运行git push
命令上传代码也可能会出现错误:Bad owner or permissions on ~/.ssh/config
这时需要修改相关文件的读写权限,可使用以下命令:
$ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/*