SSH

搜索 ssh.com 可查看 SSH 官网资料。

在 VS Code 上,安装 Remote - SSH 插件。建议直接安装 Remote Development 插件包。

1
ssh user@example.com
SHELL

虽然这里的user@不是必须的,但一般第一次访问服务器时,还是得写。访问后,一般会在 SSH config 配置文件中记录下来,之后访问服务器时,就不用写了。默认使用文件里面写的用户名。

Token authentication requirements for Git operations

搜索文章标题即可查看。GitHub 的这篇文章是说,在 2021 年 8 月 13 日之后,GitHub 不再支持使用用户名和密码进行 Git 操作。

通过 SSH 连接到 GitHub

同样是搜索文章标题即可查看。

1
ssh-keygen -t ed25519 -C "your_email@example.com"
SHELL

-t用于指定密钥的类型。默认为 rsa。不过 ed25519 具有更安全等特点,也是目前 GitHub 更推荐的类型。

-C是可选项,用于添加注释。一般写自己的邮箱。通常还是建议写的,特别是多人使用同一服务器的场景。如果是在 GitHub 添加 SSH 密钥,那么就得写自己的账号邮箱。

密钥的密码不是必需的。

可以生成多个密钥。默认情况下,使用的是默认名字的密钥文件,文件名和密钥类型有关。

~/.ssh/id_ed25519

~/.ssh/id_rsa

公钥认证。

~/.ssh/authorized_keys

比如在远程服务器,在上述文件中,添加一行自己的公钥。可以有多行,常见于多人使用该服务器的场景。

SSH 配置文件。

~/.ssh/config

可以在 VS Code 的远程资源管理器直接打开。

一种场景是,自己有多个 GitHub 账号,需要用到多个 SSH 密钥。

以下是操作示例。

1
ssh-keygen -t ed25519 -C "email@example.com"
SHELL
1
ssh-keygen -t ed25519 -C "email2@example.com"
SHELL

如果不去修改密钥文件名,那么新生成的 SSH 密钥会覆盖掉旧的。可以在生成密钥的过程进行配置,也可直接修改文件名。公钥和私钥的名字都得修改,保持一致。建议将常用的保持默认,将另一个进行修改即可。

然后,将这两个密钥分别添加到所在的 GitHub 账户。

以下是配置文件的写法示例。

1
2
3
4
Host github-email.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_email
CRMSH
1
ssh -T git@github-email.com
SHELL

上面的User项不是必需的,有些教程还会让你写成相应的用户名,虽然能用,但是是不太合适的。

网上的一些教程中,会要求另一个用户,也就是默认用户,也要写入类似上面的配置,即使是使用默认配置,不过实际上不是必须的。默认用户会使用默认公钥等配置。也就是说,下面这个验证测试也是能过的。

1
ssh -T git@github.com
SHELL

而如果想要ssh -T github.com这种写法也能测试通过的话,那就加上下面的这种简略的配置。虽然个人认为没有太大的必要。道理相当于指定了默认用户为git

1
2
3
Host github.com
HostName github.com
User git
CRMSH

SSH
https://sunboyallen.github.io/ssh/
作者
sunboyallen
发布于
2024年6月3日
许可协议