现有 SSH 证书的用户名?

现有 SSH 证书的用户名?

在 Jenkins 服务器上,目录中有两对 SSH 私钥和公钥~/.ssh/,它们显然都用于与同一外部服务器进行身份验证。但是,我不知道其中一个证书应使用哪个用户名。

用户名信息是 SSH 密钥的一部分吗?还是密钥和用户名仅映射到接受基于证书的授权的服务器上?

答案1

用户的名字不是密钥的一部分。

在服务器端,该文件~/.ssh/authorized_keys标识允许哪些密钥登录特定帐户。密钥后面的名称通常是用户的名称,但由于 SSH 会忽略该名称,因此可以是任何名称。此文件中可以包含任意数量的密钥,因此可以根据需要授权多个密钥。

在客户端,默认使用的键是~/.ssh/id_rsa~/.ssh/id_dsa,但可以通过传递-issh命令来更改。

 -i identity_file
     Selects a file from which the identity (private key) for RSA or
     DSA authentication is read.  The default is ~/.ssh/identity for
     protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for pro-
     tocol version 2.  Identity files may also be specified on a per-
     host basis in the configuration file.  It is possible to have
     multiple -i options (and multiple identities specified in config-
     uration files).

这样,服务器和客户端就不必共享相同的用户名。

相关内容