在带有 SSH 的远程计算机上使用 CLI 自动完成功能 - Amazon Q 开发者版

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在带有 SSH 的远程计算机上使用 CLI 自动完成功能

当您在本地安装命令行版 Amazon Q 时,它会在本地环境中的现有终端中添加 500 多个 CLI 工具的自动完成功能。通过启用 SSH 集成,您也可以在远程计算机上访问 CLI 自动完成功能。

本地 macOS 集成

要启用 SSH 集成,请运行以下命令启用本地 SSH 集成:

q integrations install ssh

远程整合 Linux

安装和更新要求

  • 您必须能够提取或“解压缩”下载的程序包。如果您的操作系统没有内置的 unzip 命令,请使用等效命令。

  • Amazon Q CLI 使用 glibc 2.34 或更高版本。自2021年以来发布的大多数主要Linux发行版中,默认都包含该版本。

  • 我们在 Fedora、Ubuntu 和亚马逊 Linux 2023 最新发行版的 64 位版本上支持 Amazon Q CLI。

  • 由于 AWS 不维护第三方存储库,因此我们无法保证它们包含最新版本的 Q CLI。

安装 Amazon Q CLI

  1. 通过以下方式之一下载安装文件:

    Linux x86-64

    curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.codewhisperer.us-east-1.amazonaws.com/latest/q-x86_64-linux.zip" -o "q.zip"

    Linux ARM (aarch64)

    curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.codewhisperer.us-east-1.amazonaws.com/latest/q-aarch64-linux.zip" -o "q.zip"
  2. (可选)验证下载的 zip 文件的完整性

    如果您在上述步骤中选择手动下载 Amazon Q CLI 安装程序包.zip,则可以使用以下步骤通过 GnuPG 工具验证签名。

    Amazon Q CLI 安装程序包.zip 文件使用 PGP 签名进行加密签名。如果文件有任何损坏或更改,则此验证失败,您不应继续安装。

    1. 使用软件包管理器下载并安装 gpg 命令。有关 GnuPG 的更多信息,请参阅 GnuPG 网站。

    2. 要创建公有密钥文件,请创建一个文本文件并粘贴到以下文本中。

      -----BEGIN PGP PUBLIC KEY BLOCK----- mDMEZig60RYJKwYBBAHaRw8BAQdAy/+G05U5/EOA72WlcD4WkYn5SInri8pc4Z6D BKNNGOm0JEFtYXpvbiBRIENMSSBUZWFtIDxxLWNsaUBhbWF6b24uY29tPoiZBBMW CgBBFiEEmvYEF+gnQskUPgPsUNx6jcJMVmcFAmYoOtECGwMFCQPCZwAFCwkIBwIC IgIGFQoJCAsCBBYCAwECHgcCF4AACgkQUNx6jcJMVmef5QD/QWWEGG/cOnbDnp68 SJXuFkwiNwlH2rPw9ZRIQMnfAS0A/0V6ZsGB4kOylBfc7CNfzRFGtovdBBgHqA6P zQ/PNscGuDgEZig60RIKKwYBBAGXVQEFAQEHQC4qleONMBCq3+wJwbZSr0vbuRba D1xr4wUPn4Avn4AnAwEIB4h+BBgWCgAmFiEEmvYEF+gnQskUPgPsUNx6jcJMVmcF AmYoOtECGwwFCQPCZwAACgkQUNx6jcJMVmchMgEA6l3RveCM0YHAGQaSFMkguoAo vK6FgOkDawgP0NPIP2oA/jIAO4gsAntuQgMOsPunEdDeji2t+AhV02+DQIsXZpoB =f8yY -----END PGP PUBLIC KEY BLOCK-----
    3. 使用以下命令导入 Amazon Q CLI 公钥, public-key-file-name 替换为您创建的公钥的文件名。

      gpg --import public-key-file-name gpg: directory '/home/username/.gnupg' created gpg: keybox '/home/username/.gnupg/pubring.kbx' created gpg: /home/username/.gnupg/trustdb.gpg: trustdb created gpg: key 50DC7A8DC24C5667: public key "Amazon Q CLI Team <q-cli@amazon.com>" imported gpg: Total number processed: 1 gpg: imported: 1
    4. 下载您下载的软件包的 Amazon Q CLI 签名文件。它的路径和名称与其对应的.zip 文件相同,但扩展名为.sig。在以下示例中,我们将其作为名为 q.zip.sig 的文件保存到当前目录。

      Linux x86-64

      要获取最新版本的 Amazon Q CLI,请使用以下命令块:

      curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.codewhisperer.us-east-1.amazonaws.com/latest/q-x86_64-linux.zip.sig" -o "q.zip.sig"

      对于特定版本的 Amazon Q CLI,请将最新版本替换为版本号。在此示例中,版本 1.1.0 的路径将是 /1.1.0/ q-linux-x 86_64.zip.sig,结果是以下命令:

      q curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.codewhisperer.us-east-1.amazonaws.com/1.1.0/q-x86_64-linux.zip.sig" -o "q.zip.sig"

      Linux ARM (aarch64)

      要获取最新版本的 Amazon Q CLI,请使用以下命令块:

      curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.codewhisperer.us-east-1.amazonaws.com/latest/q-aarch64-linux.zip.sig" -o "q.zip.sig"

      对于特定版本的 Amazon Q CLI,请将最新版本替换为版本号。在此示例中,版本 1.1.0 的路径将是 /1.1.0/ q-linux-aarch 64.zip.sig,结果是以下命令:

      curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.codewhisperer.us-east-1.amazonaws.com/1.1.0/q-aarch64-linux.zip.sig" -o "q.zip.sig"

      对于特定版本的 Amazon Q CLI,请将最新版本替换为版本号。在此示例中,版本 1.1.0 的路径将是 /1.1.0/ q-linux-aarch 64.zip.sig,结果是以下命令:

      curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.codewhisperer.us-east-1.amazonaws.com/1.1.0/q-aarch64-linux.zip.sig" -o "q.zip.sig"
    5. 验证签名,将下载的.sig 和.zip 文件名作为参数传递给 gpg 命令。

      gpg --verify q.zip.sig q.zip

      输出应类似于以下内容。

      gpg: Signature made Wed 24 Apr 2024 12:08:49 AM UTC gpg: using EDDSA key 9AF60417E82742C9143E03EC50DC7A8DC24C566 gpg: Good signature from "Amazon Q CLI Team <q-cli@amazon.com>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 9AF6 0417 E827 42C9 143E 03EC 50DC 7A8D C24C 5667
      注意

      输出中的警告是预料中的,并不表示出现了问题。之所以发生这种情况,是因为你的个人 PGP 密钥(如果你有)和命令行 PGP 密钥的 Amazon Q 之间没有信任链。有关更多信息,请参阅信任 Web。

  3. 解压缩安装程序。如果您的 Linux 发行版没有内置的解压缩命令,请使用等效命令进行解压缩。以下示例命令解压缩软件包,并在当前目录下创建一个名为 q 的目录。

    unzip q.zip
  4. 运行安装程序。安装命令在新解压缩的 q 目录中使用名为 install 的文件。默认情况下,所有文件都安装到 ~/.local/bin 中。

    ./q/install.sh
  5. 安装 ssh 配置集成。为此,您必须编辑sshd_config以添加AcceptEnvAllowStreamLocalForwarding设置。要编辑sshd_config运行,请执行以下操作:

    sudo -e /etc/ssh/sshd_config

    编辑 sshd_config 后,将以下内容添加到配置文件的末尾:

    AcceptEnv Q_SET_PARENT AllowStreamLocalForwarding yes

    注意,安装后还必须重新启动 sshd 进程,如果您使用的是 systemd,则可以运行:

    sudo systemctl restart sshd
  6. 要完成集成的设置,您必须断开与 SSH 实例的连接并重新连接。完成后,您可以通过运行以下命令登录到 Q:

    q login

    要检查是否存在任何其他安装问题,请运行:

    q doctor

已知限制条件

一个已知的限制是,如果通过 SSH 连接到远程计算机时退出 Amazon Q 桌面客户端,SSH 将重复打印一条错误消息。例如:

connect to /var/folders/tg/u1vx4xfmvqav0oxfa4zfknaxiwmbsbr/T/cwrun/remote.sock port -2 failed: Connection refused

要删除错误消息,请退出 SSH 会话并重新连接,或者重启 Amazon Q 桌面客户端。