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

带有PTY的SSH接口

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命令,后者将添加到要执行的查询列表中: