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