SSH生成和使用

简单简绍

SSH (Secure Shell) 密钥是用于身份验证和加密通信的一对加密密钥。它由两个部分组成:私钥(private key)和公钥(public key)。这对密钥是通过非对称加密算法生成的,其中私钥用于加密数据,而公钥用于解密数据。

SSH 生成

1
ssh-keygen -t rsa -C "邮箱"

SSH 使用

找到路径下的文件: C:\Users\username\.ssh\id_rsa.pub。把文件中的密钥复制一下,拷贝到对应位置。

生成多个SSH

  • 指定名称
    1
    ssh-keygen -t rsa -C "邮箱" -f ~\.ssh\名称
  • 配置文件

    C:\Users\username\.ssh\ 是否有config文件,没有新建一个。

1
2
3
4
5
6
7
8
9
10
11
12
Host gitcode.net  
HostName gitcode.net
User git
IdentityFile ~/.ssh/git_code_rsa
Host gitee.com
HostName gitee.com
User git
IdentityFile ~/.ssh/gitee_rsa
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/github_rsa
  • 测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cmd输入 : ssh -T git@github.com

输出:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:******************************.
Please contact your system administrator.
Add correct host key in C:\\Users\\****/.ssh/known_hosts to get rid of this message.
Offending RSA key in C:\\Users\\****/.ssh/known_hosts:1
RSA host key for github.com has changed and you have requested strict checking.
Host key verification failed.
  • 使用 SSH 连接报 Bad owner or permissions on C:\Users\Administrator/.ssh/config 错误问题解决
  1. 下载openssh-portable项目

  2. 下载完成后,以管理员启动PowerShell命令行,进入openssh-portable项目中的contriblwin32\openssh目录,执行以下命令:

    1
    .\FixUserFilePermissions.ps1 -Confirm:$false