这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
atk:ssh_keys [2019/06/30 15:47] – 创建 xie.congwei | atk:ssh_keys [2019/06/30 16:47] (当前版本) – [参考] xie.congwei | ||
---|---|---|---|
行 1: | 行 1: | ||
====== SSH keys ====== | ====== SSH keys ====== | ||
+ | ====== SSH keys ====== | ||
+ | 如果想要在远程计算集群上使用 QuantumATK 的 Job Manager 执行和管理 QuantumATK 作业,则需要无密码的SSH密钥对。本教程将向您展示应该如何操作。 | ||
+ | |||
+ | - 创建一对公共和私有的 SSH 密钥; | ||
+ | - 将公共秘钥添加到远程集群上已授权 SSH 密钥的列表中; | ||
+ | - 检查无密码 SSH 连接是否正常工作。 | ||
+ | |||
+ | 我们提供了关于 Windows、Linux 和 OS X 的详细说明。 | ||
+ | |||
+ | |||
+ | {{ : | ||
===== 创建一组公共和私有的 SSH 秘钥 ===== | ===== 创建一组公共和私有的 SSH 秘钥 ===== | ||
==== Windows ==== | ==== Windows ==== | ||
+ | 您需要安装一些专用软件生成 SSH 密钥并在 Windows 上建立 SSH 连接。PuTTY 和 PuTTYgen 都是很受欢迎的选择。[[https:// | ||
+ | |||
+ | * 打开 **PuTTYgen**,然后单击 // | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * 转至 Conversions {{: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * 右击公共秘钥区,复制文本。 | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * 将公共秘钥粘贴到编辑器(如记事本)中,并保存为 '' | ||
==== Linux 和 OS X ==== | ==== Linux 和 OS X ==== | ||
+ | |||
+ | ==== Linux 和 OS X ==== | ||
+ | |||
+ | 这些操作系统应该默认地提供您需要的软件。 | ||
+ | |||
+ | * 打开一个终端窗口,找到文件夹 ''/ | ||
+ | * 检查是否有一组秘钥已经生成('' | ||
+ | * 如果已生成,您需要检查一下它们是否是无密码的:检查是否在 ''/ | ||
+ | * 如果是的,证明密钥对是无密码的,您需要生成一对新的。 | ||
+ | * 如若没有,将秘钥对复制到文件夹 ''/ | ||
+ | * 利用 '' | ||
+ | |||
+ | <code python> | ||
+ | $ ssh-keygen | ||
+ | </ | ||
+ | |||
+ | * 选择 ''/ | ||
+ | * 不要使用秘钥密码!要求输入密码时只需要点击 enter 键即可。 | ||
+ | * 您现在应该在文件夹 ''/ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
===== 将公共秘钥添加到远程集群已授权的 SSH 秘钥 ===== | ===== 将公共秘钥添加到远程集群已授权的 SSH 秘钥 ===== | ||
+ | |||
+ | 下一步,您需要将您的公共 SSH 秘钥添加到远程集群已授权秘钥的清单上。 | ||
+ | |||
+ | <WRAP center important 100%> | ||
+ | === 注意 === | ||
+ | 您可能需要集群的管理员为您执行此操作。无论如何,下面我们将展示如何在您有权访问的情况下执行此操作。 | ||
+ | </ | ||
==== Linux 和 OS X ==== | ==== Linux 和 OS X ==== | ||
+ | 使用 '' | ||
+ | <code python> | ||
+ | ssh-copy-id -i / | ||
+ | </ | ||
+ | |||
+ | 在出现提示时输入您的密码。您的公共秘钥现在应该被添加到集群的 ''/ | ||
==== Windows ==== | ==== Windows ==== | ||
+ | 您需要登录集群,手动添加秘钥。 | ||
+ | |||
+ | 打开您电脑上的 PuTTY,输入远程的主机名称并点击 Open。 | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | 图 21 用合适的主机名称替代 HOST.CLUSTER.EDU。 | ||
+ | |||
+ | * 将您公共秘钥的内容(扩展名 '' | ||
+ | * 退出远程集群,进行下一部分,测试设置。 | ||
===== 测试无密码的 SSH 连接 ===== | ===== 测试无密码的 SSH 连接 ===== | ||
+ | ===== 测试无密码的 SSH 连接 ===== | ||
- | ===== 参考 ===== | + | 我们在这里提供了一个 QuantumATK 脚本,它将尝试建立与远程集群的连接,并报告连接是否成功建立。 |
+ | * 下载脚本 [[https:// | ||
+ | |||
+ | <code python> | ||
+ | 1 from NL.ComputerScienceUtilities.SSHConnection import SSHConnection | ||
+ | 2 import os | ||
+ | 3 | ||
+ | 4 # -------------------------------------- # | ||
+ | 5 # Edit only these 3 settings | ||
+ | 6 # -------------------------------------- # | ||
+ | 7 key_dir | ||
+ | 8 hostname = ' | ||
+ | 9 username = ' | ||
+ | 10 | ||
+ | 11 # -------------------------------------- # | ||
+ | 12 port = 22 | ||
+ | 13 ok = os.path.isdir(key_dir) | ||
+ | 14 if ok: | ||
+ | 15 | ||
+ | 16 con = SSHConnection(hostname, | ||
+ | 17 | ||
+ | 18 ok = con.isConnected() | ||
+ | 19 | ||
+ | 20 if ok: | ||
+ | 21 | ||
+ | 22 else: | ||
+ | 23 | ||
+ | 24 # -------------------------------------- # | ||
+ | </ | ||
+ | |||
+ | * 从命令行执行: | ||
+ | |||
+ | <code python> | ||
+ | $ atkpython ssh_test.py | ||
+ | </ | ||
+ | |||
+ | * 如果测试通过,则会打印出以下行: | ||
+ | <code python> | ||
+ | Successfully found local dir with SSH keys. | ||
+ | Connection successful. | ||
+ | </ | ||
+ | |||
+ | |||
+ | <WRAP center tip 100%> | ||
+ | === 提示 === | ||
+ | 您现在应该已准备好使用 QuantumATK 作业管理器在远程集群上运行的 QuantumATK 作业,请参阅教程 [[https:// | ||
+ | </ | ||
+ | |||
+ | ===== 参考 ===== | ||
+ | * 英文原文: | ||