很久之前就写过这个,最后丢失了,在写一次.

生成 ssh keys

这里说两个方法,可视化软件的和命令行的

通过xshell

图形化很容易操作

新建用户密钥生成向导

在工具里面找到'新建用户密钥生成向导'

QQ截图20210709101229.png

默认采用RSA 2048位的加密方式,你可以自己调整,然后下一步,下一步.

配置密钥名和密码

到这里可以给他起个名字,其实就是文件名字,用于区分.密码的话可以为空,也可以自己设置,设置了密码的话,以后要使用这个密钥还要再输入你的这个密码.(建议设置一下,不然泄露了别人拿到就直接用了)

QQ截图20210709102345.png

导出密钥公钥

下一步之后直接点完成.到这个页面

QQ截图20210709102846.png

选中你生成的那个名字,在属性内可选择公钥,然后另存为文件,选择位置保存,即可得到公钥.
选中你生成的那个名字,直接导出,选择位置保存,即可得到密钥,如果生成的时候有填写密码,导出也需要你设置的那个密码.

通过shell命令

这里参考的是https://www.vultr.com/docs/how-do-i-generate-ssh-keys/

1.生成您的密钥ssh-keygen,替换您的电子邮件地址

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

2.按ENTER将密钥保存在默认位置

Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/example/.ssh/id_ed25519):

3.您可以为您的密钥输入密码

我们建议使用密码短语,但您可以按ENTER绕过此提示.如果您使用密码的话,则每次使用密钥时都会输入它.

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

4.您的密钥已生成并保存

从代码可看出密钥和公钥的文件位置.
/Users/example/.ssh/id_ed25519 这个是密钥
/Users/example/.ssh/id_ed25519.pub 这个是公钥,pub结尾.

Your identification has been saved in /Users/example/.ssh/id_ed25519.
Your public key has been saved in /Users/example/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256:qx6prR4Zo+VU7Fl8yivXzzzzzzzzJ/9NRnPbrC20w7g example@example.com
The key's randomart image is:
+--[ED25519 256]--+
|                 |
|     o .         |
|    o B o + .    |
|     B + + o +   |
|    = = S o o o  |
|   = + = O + +   |
|  . + B B = * .  |
|     = O   + o   |
|   .+o=.. E .    |
+----[SHA256]-----+

其他

操作私钥要是提示类似这样就改下权限,如果生成私钥的时候有设置密码,操作一般都需要密码验证

[root 21:50:22 ~]$ ssh-keygen -y -f id_ed25519_256 > pub
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'id_ed25519_256' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "id_ed25519_256": bad permissions
chmod 400 id_ed25519_256

切记备份私钥。如果丢失,密钥将无法恢复。

有密钥的话,可以恢复出公钥.

ssh-keygen -y -f 私钥文件 > 要保存的公钥文件

更改密钥的密码

ssh-keygen -p -f 私钥文件

根据提示输入旧密码和新密码(两次).

查看钥匙的指纹

ssh-keygen -l -f 私钥文件

输出类似是这样
3072 SHA256:pqdEtfbmIRwqTk9PpApa7DMvAxqCA577vJ/FcgyUM0Q root@localhost (RSA).

VPS服务器启用密钥

启用密钥登录

我自己用的简单粗暴,我是root用户,工作目录就是/root,所以直接修改工作目录下的.ssh/authorized_keys文件,在其中把公钥内容放进去就好了.
如果是添加的其他用户,用户的工作目录在/home/用户名目录下,也是照样修改用户工作目录下的.ssh/authorized_keys,把公钥放进去即可.

禁用密码登录

修改文件/etc/ssh/sshd_config,找到PasswordAuthentication yes这一行,改成PasswordAuthentication no

重启ssh即可

systemctl restart sshd

标签: SSH

已有 9 条评论

  1. kfdmykboux kfdmykboux

    反讽手法运用娴熟,令人会心一笑。

  2. inkyzxlznj inkyzxlznj

    隐喻层次丰富,留给读者想象空间。

  3. nervbksxnp nervbksxnp

    若能弱化说教语气,传播效果会更好。

  4. dgxleiszot dgxleiszot

    作者对主题的挖掘深入骨髓,展现了非凡的洞察力和理解力。

  5. iyczyyphdw iyczyyphdw

    语言简洁明快,用词精准,毫无赘余。

  6. fiitjysdsa fiitjysdsa

    文笔细腻,描写生动,画面感跃然纸上。

  7. tvlpwkritu tvlpwkritu

    文化差异分析可再深化以避免误读。

  8. krumzmnnaa krumzmnnaa

    这是一篇佳作,无论是从内容、语言还是结构上,都堪称完美。

  9. llctnhcnmr llctnhcnmr

    作者以非凡的视角解读平凡,让文字焕发出别样的光彩。

添加新评论

Loading...
Fullscreen Image