文档
从 Windows 生成 SSH 密钥对
被医生所启发 线性 - 这是完全改写的,以遵守原作品的 CC BY-ND 3.0 (英语). 执照。
我们建议通过 Windows 的 SSH 连接 普蒂语Name。对于一般的 SSH 连接,您只需要单个主 Putty 执行器( putty.exe) 。但是要生成 SSH 键派( AKA " SSH 键" ) 您需要 Puttygen( puttygen.exe) 。 您可以下载单个可执行文件或一个zip或安装器(包括所有 PuTTY 工具)。 请检查 下载页面.
生成带有 PuTTYgen 的 SSH 键盘
独立的可执行文件(puttygen.exe)可以直接运行;否则会根据您从上面下载的选择而解析或安装软件.
最终(或者如果发射 puttygen.exe ) , 您会在键生成屏幕上找到自己。 默认值应该很好 。 除非你知道自己在做什么, 推荐你离开他们。
单击 生成 按钮以启动生成进程。 这将生成一对密钥( 将键盘保存在键盘上) ; 一对密钥( 您在电脑上安全保存, 并且绝不与任何人共享 ) 和 一对公钥( 您将上传 ) 。 )),并输入您的服务器.
创建一个唯一且真正随机的密钥页需要用户交互。 因此, 您需要将鼠标移动到程序窗口中, 直到进度栏满了 。
一旦生成, 公钥将显示在下一个窗口中。 确保您全部选择, 然后鼠标右键单击并选择“ 副本 ” 。
您现在需要粘贴您的公钥, 供以后使用。 输入文本文件是一个很好的选项 。 一般来说,使用带有Linux文件的NotePad或WordPad(这两个文本编辑器都管理着Linux文件,并会造成错误)是坏做法. 我建议你使用免费的开源 备忘Pad++ (下载页面然而,目前仅存您的公钥, NotePad/WordPad将会起作用。请记住您保存的地方,因为您很快会再次需要它。

需要额外安全保护时,您也可以在您的私人密钥中添加密码句。 这意味着即使有人偷了你的私人钥匙 他们仍然需要破解你的密码 才能进入你的服务器 一般而言,这是建议采取的步骤,尽管它是可选的。
密码句可以是任意的字母和数字串,应该具有独特性和不可理解性. 满句是很好的选择,因为很难破解,但相对容易记住. 最好把密码句写进记忆, 否则,你将在安全的地方记下来;你以后需要它! 如果您禁用 SSH 密码登录( 下方最后一节) 如果您忘记或丢失密码句, WILL NOT 可以恢复它 !
如果您选择使用密码句,请输入并确认(通过在下面的行中再次输入).
单击 保存私钥 按钮。这样可以保存私钥。
默认文件位置很好, 除非有正当理由, jsut 离开。 给私钥文件命名并单击 保存( S).
可以在多个服务器上使用相同的密钥,但也可以为不同的服务器使用不同的密钥. 如果您计划创建多个密钥, 请确保您使用不同的名字来避免写入密钥文件 。 记下私钥的名字和位置 稍后你就会需要了
将您的 SSH 公钥添加到枢纽
如果你在使用 枢纽 然后您可以在那里添加您的公钥。 那么您启动的任何新服务器都会自动获取您的公钥。 酷吧?
如果你没有用 枢纽,你需要跳过 到下一节。
登录您的 Hub 账户并转到 "SSH 授权密钥" Tab. 粘贴您的公钥( 如以下所示), 点击" Update".

现在启动一个新的服务器,并遵循下面的指示,使用您的新密钥登录到 PuTTY 中 。 如果您想要连接到现有的 Hub 服务器( 不仅仅是新服务器), 您还需要完成所有“ 手动添加您的 Public SSH 密钥到您的服务器” 指令 。 下图。
注意:如果您正在使用 AWS MarketPlace, 您也可以通过 AWS 控制台将您的公钥 SSH 添加到某个特定区域 。 该地区所有未来的服务器自动获得你的钥匙(类似于Hub的操作方式). 如果您想要在多个区域使用相同的密钥, 您需要手动将它添加到每个区域。 这样做的确切步骤超出了此文件的范围 。
配置 PuTTY 连接到您的服务器
所以现在你需要设置 PuTTY (puty.exe) 来使用您的私人密钥.
- 发射PuTTY (puty.exe).
从左窗格中选择 连接 >> SSH 密码 >> 认证。您可能需要单击“+”来扩展选项。

默认应该很好, 尽管您需要设置私有密钥文件的位置( 从步骤 # 6“ 使用 PuTTYgen 创建 SSH Keypair ” )。 要么单击 浏览 按钮并导航到私钥文件,或者在框中键入完整文件路径。
[可选] 您可以设置您想要连接的用户名 连接 >> SSH 密码 >> 数据。一般情况下,它会是“root”(不使用引文),除非您添加了替代用户。如果您使用亚马逊市场定位实例,它会是“admin”。
如果您不设置此选项, PuTTY 将在 SSH 会话中询问用户名 。
要建立会话,请点击 会话 下划线 类别 列表中。输入您的服务器的 FQDN 或 IP 地址。再次,所有其他默认都应当很好。
[可选] 您可以点击此连接将它保存为默认值 保存( S)。或者,您可以通过在“定义”中输入一个名称来保存它,作为许多可能的联系之一。 保存的会话 文本字段和单击 保存( S)。下次使用 PuTTY 时,它会自动加载“ 默认设置”, 以加载一个替代配置, 选择名称并单击 装入.
要建立连接,请单击 打开.
如果您在Hub中保存了您的公用SSH密钥(根据上面"添加您的公用SSH密钥到Hub"),而这是您从那时起推出的服务器,那么您就可以出发了. 您可能需要输入用户名( 如果您跳过上面的步数 # 4) 。 如果您设置了密码句( 步骤 # 5 "用 PUTTYgen 创建 SSH Keypair"), 您需要按下提示输入 。
如果您正在连接到一个非 Hub 服务器; 或者在将您的 SSH 公钥添加到 Hub 之前创建的 Hub 服务器, 那么您需要手动将您的密钥添加到 。遵循下面“手动添加您的 SSH 公钥到您的服务器” 一节中的指令。
手动将您的公用 SSH 密钥添加到您的服务器
直接从上面的“配置 PuTTY 连接到您的服务器” 部分开始:
当您连接到您的服务器时, 您会被提示输入您的登录名( 可能是“ root ”) 和密码( 您为服务器设置的“ root” 密码) 。
一旦您登录到您的服务器, 请创建
.ssh目录( 在您的主目录中), 创建空authorized_keys,并设置访问权限,只有您的用户才能读取或写入:mkdir ~/.ssh touch ~/.ssh/authorized_keys chmod -R 700 ~/.ssh
编辑新创建的
authorized_keys文档中您最喜欢的 Linux 文本编辑器。 我会用纳米作为示例 :nano ~/.ssh/authorized_keys
从工作站粘贴公钥内容到
authorized_keys文件(从步骤4“用 PUTTYgen 创建 SSH Keypair ” ) 。请确保您在退出时保存文件。离开PutTY。
打开 PUTTY (puty. exe) 和 装入 您保存的会话( 从步骤 # 4“ 配置 PuTTY 连接到您的服务器 ” )。 如果您没有保存会话, 请按照“ 配置 PuTTY 连接到您的服务器 ” 重制 。 您可能需要再次输入用户名( 如果您跳过步骤 # 4“ 配置 PuTTY 连接到您的服务器 ” ) 。 如果您设置了密码句( 步骤 # 5 "用 PUTTYgen 创建 SSH Keypair"), 您需要按下提示输入 。
您现在应该使用 SSH 键盘连接到您的服务器 ! :
如果它要您的密码( 即不是您的密码) , 那么在添加您的 SSH 公钥时会出错 。 请再尝试一次以上步骤 。 如果还不行 请给我们发信 支助论坛
禁用密码登录 [可选]
作为保护您的 应用设备 的额外步骤, 您现在可以禁用密码 SSH 登录 。
重要内容 : 只有成功登录您的 SSH 键盘时才会这样做 ! 如果您没有正确设置您的密钥页日志( 或者您丢失您的私钥), 您将被锁出您的服务器, 并且有 密码找不到了! 你被警告过!
使用 PuTTY 登录您的服务器。 请确定 DID NOT 需要使用您的密码。 需要您的 SSH 密钥密码句( 如果您设置了密码句) 。
在您最喜欢的文本编辑器中打开 SSH 配置文件, 我会用纳米作为示例 :
nano /etc/ssh/ssh_config
寻找一条线,写着:
# PasswordAuthentication yes
将"#"从行首删除,并将"是"改为"否",该行现在应该这样:
PasswordAuthentication no
保存文件并退出纳米
要应用新的配置, 重新启动 SSH 服务器 :
service ssh restart
就是这样! 您服务器上的 SSH 服务现已锁定, 只接受对应 公用 SSH 密钥的私钥 。
~/.ssh/authorized_keys