bam*_*bam 2 linux ssh certificate
我有一个 Ubuntu 16.06 Rootserver,还有其他几个人可能需要以特殊用户身份登录它。
我不想发送密码甚至私钥。
是否可以生成在生成后 +3 天到期的密钥,而无需触及服务器上的任何内容?
即使用服务器知道的根证书,并且我进入了一个安全的地方,我可以用它来生成那些具有到期日期的密钥?
甚至私钥。
你为什么要发送私钥?要求用户生成他们自己的密钥对,并让他们向您发送公钥。
是否可以生成在生成后 +3 天过期的密钥,
假设服务器使用OpenSSH,有两种方式:
证书:支持 OpenSSH 5.4 或更高版本,但所有用户也必须使用 OpenSSH - 生成的证书不适用于 PuTTY 或其他客户端。
首先生成一个“权威”SSH 密钥,ssh-keygen并将其列在服务器的配置中(使用该TrustedUserCAKeys选项),然后使用它来颁发用户证书。
颁发证书:当用户向您发送他们的id_rsa.pub文件时,请使用 CA 密钥对其进行签名。签名后,将新id_rsa.pub-cert文件发送回用户。
ssh-keygen -s ~/private/user_ca -I user_fred -n fred -V +3d fred_id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
这里-n指定谁可以使用证书登录,并-V设置其到期时间。(该-I选项只是为证书本身设置一个任意名称。)
Authorized_keys:支持 OpenSSH 7.7 或更高版本,没有任何客户端要求。到期信息不存储在密钥本身中,而是存储在服务器的authorized_keys文件中:
expiry-time="20180704" ssh-ed25519 AAAAC3NzaC1lZDI1NTE...
Run Code Online (Sandbox Code Playgroud)
从手册页sshd(8),允许的时间格式是YYYYMMDD和YYYYMMDDHHMM[SS]在服务器的主要时区。
请注意,此方法仅在用户被阻止编辑其 authorized_keys 文件时才是安全的,否则他们只能延长到期时间!
| 归档时间: |
|
| 查看次数: |
3560 次 |
| 最近记录: |