跳到主要内容
跳到主要内容

SSH 接口与 PTY

Experimental feature. Learn more.
Not supported in ClickHouse Cloud

前言

ClickHouse 服务器允许使用 SSH 协议直接连接到自身。任何客户端都是允许的。

在创建 数据库用户并通过 SSH 密钥进行身份验证 后:

您可以使用此密钥连接到 ClickHouse 服务器。它将打开一个伪终端 (PTY),并启动一个 clickhouse-client 的交互式会话。

也支持通过 SSH 执行命令(非交互模式):

服务器配置

为了启用 SSH 服务器功能,您需要取消注释或在 config.xml 中放置以下部分:

主机密钥是 SSH 协议的重要组成部分。此密钥的公钥部分存储在客户端的 ~/.ssh/known_hosts 文件中,通常用于防止中间人攻击。当第一次连接到服务器时,您将看到以下消息:

这实际上意味着:“您是否想记住此主机的公钥并继续连接?”。

您可以告知您的 SSH 客户端不验证主机,通过传递一个选项:

配置嵌入式客户端

您可以向嵌入式客户端传递选项,类似于普通的 clickhouse-client,但有一些限制。 由于这是一个 SSH 协议,唯一向目标主机传递参数的方法是通过环境变量。

例如,设置 format 可以这样完成:

您可以通过这种方式更改任何用户级设置,并且还可以传递大多数普通的 clickhouse-client 选项(除了在此设置中没有意义的选项)。

重要提示:

如果同时传递了 query 选项和 SSH 命令,后者将被添加到要执行的查询列表中: