校外访问校内资源 Git仓库配置 .ssh/config 文件配置


今天从学校回家,以往在校园网内访问流畅的计组课程 Git 仓库不能流畅访问了。研究发现这是 host 配置出了问题。有两种解决方法

方法一 修改 ./ssh 文件夹下 config 文件

.ssh/config 文件是配置 ssh 连接相关参数的配置文件,示例配置如下:

Host hostA
    HostName www.webname.com
    Port 1234
    User test
    IdentityFile ~\.ssh\id_rsa
Host hostB
    HostName 123.456.789.000
    Port 5678
    User root
    IdentityFile ~\.ssh\id_rsa

使用方法:
使用 ssh hostA 可以连接到域名为 www.webname.com 所指向的服务器
使用 ssh hostB 可以连接到 ip 地址为 123.456.789.000 的服务器
如果想使用 scp 命令,以上面 hostA 为例,格式为: scp hostA:/xxx

config 配置含义

  • Host:服务器别名,只要是合法的变量名称且不重复即可,可任意指定,ssh 命令通过该名称来连接到指定服务器,比如上面的 ssh hostA / ssh hostB

  • Hostname:服务器地址,可以是域名,也可以是 ip 地址。

  • Port:端口号,默认为 22,只有修改了 ssh 连接的默认端口才需要配置此参数

  • Userssh 的登陆用户名

IdentityFilessh 私钥文件的地址(不带 .pub 后缀的文件)

方法二 修改系统的 hosts 文件配置

hosts 文件中增加映射关系:10.xx.xx.xx git.xx.com,以便可以使用相应的域名访问 git。同样的,增加 10.212.29.199 git.cscore.buaa.edu.cn,就可以访问校内的 git 仓库。

hosts 文件的位置通常位于 C:\Windows\System32\drivers\etc 目录下,用管理员权限打开后在 hosts 文件尾部添加以下内容:

10.xx.xx.204 git.xx.com

小结

方法一的配置


Host git.cscore.buaa.edu.cn
    User 21371055 
    Hostname 10.212.29.199
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
    Port 443

方法二的配置


10.212.29.199 git.cscore.buaa.edu.cn

这样我们就配置完成了,同时理解了 hosts 的工作原理。这里工作为跨越网络限制,在各个地方访问 Git 仓库进行合作提供了极大的便利。


Author: zhangyixiang
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source zhangyixiang !
评论
  TOC