使用一次性密码本通过 SSH 安全登录 Linux(2)

(LCTT 译注:虽然这里重启了 sshd 服务,但是你当前的 ssh 连接应该不受影响,只是在你完成下述步骤之前,无法按照原有方式建立新的连接了。因此,保险起见,要么多开一个 ssh 连接,避免误退出当前连接;要么将重启 sshd 服务器步骤放到步骤3完成之后。)

步骤3:使用 OTPW 产生一次性密码

之前提到过,你需要事先创建一次性密码,并保存起来。使用 otpw-gen 命令创建密码:

$ cd ~

$ otpw-gen > temporary_password.txt

使用一次性密码本通过 SSH 安全登录 Linux

这个命令会让你输入密码前缀,当你以后登录的时候,你需要同时输入这个前缀以及一次性密码。密码前缀是另外一层保护,就算你的一次性密码表被泄漏,别人也无法通过暴力破解你的 SSH 密码。

设置好密码前缀后,这个命令会产生 280 个一次性密码(LCTT 译注:保存到 ~/.otpw 下),并将它们导出到一个文本文件中(如 temporary_password.txt)。每个密码(默认是 8 个字符)由一个 3 位十进制数索引。你需要将这个密码表打印出来,并随身携带。

使用一次性密码本通过 SSH 安全登录 Linux

查看 ./.otpw 文件,它存放了一次性密码的 HASH 值。头 3 位十进制数与你随身携带的密码表的索引一一对应,在你登录 SSH 服务器的时候会被用到。

$ more ~/.otpw

OTPW1

2803128

191ai+:ENwmMqwn

218tYRZc%PIY27a

241ve8ns%NsHFmf

055W4/YCauQJkr:

102ZnJ4VWLFrk5N

2273Xww55hteJ8Y

1509d4b5=A64jBT

168FWBXY%ztm9j%

000rWUSdBYr%8UE

037NvyryzcI+YRX

122rEwA3GXvOk=z

测试一次性密码登录 SSH 服务器

使用普通的方式登录 SSH 服务器:

$ ssh user@remote_host

如果 OTPW 成功运行,你会看到一点与平时登录不同的地方:

Password191:

现在打开你的密码表,找到索引号为 191 的密码。

023 kBvp tq/G 079 jKEw /HRM 135 oW/c /UeB191 fOO+PeiD247 vAnZ EgUt

从上表可知,191 号密码是“fOO+PeiD”。你需要加上密码前缀,比如你设置的前缀是“000”,则你实际需要输入的密码是“000fOO+PeiD”。

成功登录后,你这次输入的密码自动失效。查看 ~/.otpw 文件,你会发现第一行变成“---------------”,这表示 191 号密码失效了。

OTPW1

2803128

---------------

218tYRZc%PIY27a

241ve8ns%NsHFmf

055W4/YCauQJkr:

102ZnJ4VWLFrk5N

2273Xww55hteJ8Y

1509d4b5=A64jBT

168FWBXY%ztm9j%

000rWUSdBYr%8UE

037NvyryzcI+YRX

122rEwA3GXvOk=z

总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16334.html