github SSH连接(windows)
以下命令均在本地电脑的 Git Bash (本地安装git时,顺带安装) 中执行
准备 SSH 密钥
-
已有 ssh 密钥的可直接使用
-
忘记是否有 ssh 密钥,可以通过
ls -al ~/.ssh
查看现有的 ssh 密钥对,提示:如果收到.ssh不存在,则默认位置中没有 ssh 密钥,需生成新 ssh 密钥 -
生成新 ssh 密钥
ssh-keygen -t ed25519 -C "youe_email@example.com"
里面使用的电子邮件替换成 github 电子邮件地址注意:如果系统不支持 ed25519 算法,请使用下面这个:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
> Enter file in which to save the key: [Press enter], 按 Enter 键接受默认文件位置(c:\User\alan.ssh\id_ALGORITHM)注意:如果以前创建了 ssh 密钥,需要自定义命名的 ssh 密钥,修改默认位置的id_ALGORITHM
根据提示,输入安全密码:
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
会得到如下两个文件:
添加 SSH 密钥
登录 github 选择 设置
选择 SSH and GPG keys
, 然后选择 New SSH key
输入自己的备注Title
, 然后将本地 ssh 的公钥复制到Key
中即可生成
测试 SSH 连接
输入命令ssh -T git@github.com
测试,你会看到类似以下类似的返回:
>The authentictiy of host ‘github.com (IP ADDRESS)’ can’t be established.
>ED25519 key fingerprint is SHA256:+DiT3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
>Are you sure you want to continue connecting (yes/no)?
输入yes
, 返回:
> Hi USERNAME! You’ve successfully authenticated, but GitHub does not
> provide shell access
则表示通过,若收到“权限被拒绝”,请参阅 错误:权限被拒绝(公钥)
若一直返回连接超时,可尝试使用代理访问
配置 SSH 代理
在默认存放 ssh 密钥对的地方[c:\User\alan.ssh],创建config
文件,注意文件没有后缀,如图:
用记事本打开config
文件,写入:
ProxyCommand "C:\Program Files\Git\mingw64\bin\connect" -S 127.0.0.1:1024 -a none %h %p
替换你的端口号和connect.exe的路径