SSH密钥生成

SSH密钥的生成、配置和使用方法,包括Windows和Linux平台的操作步骤,以及如何安全地管理多个SSH密钥。

SSH密钥管理完全指南

SSH密钥基础

SSH密钥是一种安全的身份验证方式,用于远程服务器访问。本文将详细介绍如何在不同平台上生成和管理SSH密钥。

Windows平台配置

Windows下的ssh密钥保存在"C:\Users\用户名.ssh"目录下,默认公钥名称id_rsa.pub,私钥名称id_rsa。如果有着两个文件表示已经有生成过ssh密钥了。你可以接着用这个ssh密钥,也可以生成新的密钥。生成密钥命令:

1
    ssh-keygen -t rsa -C "这里可以填写备注"

密钥类型可以用 -t 选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。
用-C来指定所指定的注释。在公钥id_rsa.pub文件的结尾有一个注释,表示这个公钥的用处,因为后期公钥太多了可能分不清楚的用处。-t 和 -C 都是可以省略的,如果不需要都可以省略。运行命令之后,可能会要求你输入文件保存路径,一般默认位置就可以。然后会要求输入一个密码,输入完密码后按回车会要求再确认一次密码,如果不想要密码可以在要求输入密码的时候按回车跳过。 然后就会在C:\Users\用户名.ssh"目录下,生成ssh密钥。

Linux平台配置

与Windows基本一致

服务器配置与使用

密钥授权配置

在Linux服务器中的 .ssh/authorized_keys 下,存放了所有允许访问的ssh key 的公钥,比如有十台设备都能通过ssh key 来访问这个服务器, authorized_keys 中就要保存10份的公钥信息。这里前面的 ssh-keygen -C 参数就有用了,比如说:这个key是笔记本电脑的,那个是公司电脑的,等你不需要的时候,编辑 .ssh/authorized_keys 把不需要的key删除,他就不能登录了。我们需要将这个 pub 公钥文件添加到服务器 .ssh/authorized_keys 文件结尾,可以通过ssh,或者ftp等方式进行编辑。还有一些简单的命令来完成这个步骤:

  • 本地是Windows
1
2

    type .ssh\id_rsa.pub ' ssh username@host "cat >> .ssh/authorized_keys"

使用这条命令,将本地的 .ssh/id_rsa.pub 的内容追加到 目标服务器 host 的 .ssh/authorized_keys 文件中

  • 本地是Linux 使用 ssh-copy-id 命令进行复制
1
2

    ssh-copy-id -i .ssh/id_rsa.pub  username@host
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计