查看源代码 ssh_agent (ssh v5.2.5)
使用 SSH 代理而不是默认 ssh_file 回调的的回调模块。
此模块定义了与 SSH 代理 通信的回调处理程序,可用于替换默认回调。这允许向存储 SSH 私钥的代理发出签名请求以进行身份验证。
Ssh_agent 实现了 ssh_client_key_api
,允许在启动客户端时(例如使用 ssh:connect, ssh:shell)通过设置选项 key_cb
来使用它。
{key_cb, {ssh_agent, []}}
代理通信通过 UNIX 域套接字建立。默认情况下,套接字路径将从 SSH_AUTH_SOCK
环境变量中获取,这是 OpenSSH 代理实现中的默认套接字路径。
为了设置不同的套接字路径,可以设置 socket_path
选项。
{key_cb, {ssh_agent, [{socket_path, SocketPath}]}}
注意
这些函数是 SSH 应用程序的回调。它们不应从用户代码中调用!
概要
类型:选项
函数
-spec add_host_key(string(), public_key:public_key(), Options) -> ok | {error, Error :: term()} when Options :: ssh_client_key_api:client_key_cb_options(call_ssh_file_option()).
等同于 add_host_key/4
。
-spec add_host_key(Host, inet:port_number(), public_key:public_key(), Options) -> Result when Host :: inet:ip_address() | inet:hostname() | [inet:ip_address() | inet:hostname()], Options :: ssh_client_key_api:client_key_cb_options(call_ssh_file_option()), Result :: ok | {error, Error :: term()}.
此回调委托给 ssh_file 模块。
-spec is_host_key(Key :: public_key:public_key(), Host :: string(), Algorithm :: ssh:pubkey_alg(), Options) -> boolean() when Options :: ssh_client_key_api:client_key_cb_options(call_ssh_file_option()).
等同于 is_host_key/5
。
-spec is_host_key(public_key:public_key(), Host, inet:port_number(), ssh:pubkey_alg(), Options) -> boolean() when Host :: inet:ip_address() | inet:hostname() | [inet:ip_address() | inet:hostname()], Options :: ssh_client_key_api:client_key_cb_options(call_ssh_file_option()).
此回调委托给 ssh_file 模块。
-spec user_key(Algorithm :: ssh:pubkey_alg(), Options) -> Result when Result :: {ok, public_key:private_key()} | {ok, {ssh2_pubkey, PubKeyBlob :: binary()}} | {error, string()}, Options :: ssh_client_key_api:client_key_cb_options(socket_path_option() | timeout_option()).
类型和描述
请参阅 ssh_client_key_api, Module:user_key/2 中的 API 说明。