SSH密钥使用详细教程

ssh秘钥的使用-本教程适用于widows端

因安全需要,组内服务器密码登录途径皆关闭,只允许使用秘钥登录服务器 秘钥分为公钥和私钥,形象地讲,公钥就相当于锁,私钥就相当于钥匙,通过钥匙和锁的配对可以完成身份的认证。

1 生成密钥命令

在终端中输入

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

命令详解

  • ssh-keygen:是用于生成、管理和转换认证密钥的命令。
  • -t rsa:指定密钥类型为RSA(Rivest-Shamir-Adleman)
  • -b 4096:指定密钥的长度为4096位。密钥长度越长,安全性越高。
  • -C "your_email@example.com":为密钥添加一个注释(通常是你的电子邮件地址),以便于识别。

2 步骤

输入命令,按回车 C:\Users\van>ssh-keygen -t rsa -b 4096 -C "vandark.com" Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\van/.ssh/id_rsa): 此处输入你的存储位置已经密钥名称,输入完毕后按enter C:\Users\van>ssh-keygen -t rsa -b 4096 -C "vandark.com" Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\van/.ssh/id_rsa): C:\Users\van/.ssh/id_rsa-van Enter passphrase (empty for no passphrase): 此处为是否为密钥再加上一层密码,如果输入密码,则后面运用密钥登录时需要输入设置的这个密码,直接按enter就是没有密码。

生成成功后,在制定路径下,会有rsa和pub两个文件,其中pub的那个为公钥,另一个为私钥,私钥一定要保管好,不要外传。

ssh_keys

3.如何使用秘钥登录?

3.1 上传公钥

以Linux系统为例,在每个人的目录下有一个.ssh文件夹,在.ssh文件夹下有一个authorized_keys文件,这个文件中保存着所有的公钥 (base) vandark@ProvingGround:~/.ssh$ ls authorized_keys config id_rsa known_hosts known_hosts.old (base) vandark@ProvingGround:~/.ssh$ ll -rwx------ 1 vandark vandark 2036 11月 30 22:19 authorized_keys* -rw-rw-r-- 1 vandark vandark 495 3月 8 14:57 config -rw------- 1 vandark vandark 2602 2月 20 16:56 id_rsa -rw------- 1 vandark vandark 3960 3月 8 14:57 known_hosts -rw------- 1 vandark vandark 3124 3月 8 14:55 known_hosts.old

将公钥内存复制写入这个文件并保存

3.2 使用秘钥登录

接下来所有操作建立在公钥已经上传到服务器的前提下(因权限问题为例上传联系管理员)

如果你是命令行登录 ssh -i "私钥的路径"

如果你是vscode登录 Host newword User muji HostName 127.0.0.1 Port 22 IdentityFile "私钥的路径"