当我登录到 SSH 服务器/主机时,我被问到其公钥的哈希值是否正确,如下所示:
# ssh 1.2.3.4
The authenticity of host '[1.2.3.4]:22 ([[1.2.3.4]:22)' can't be established.
RSA key fingerprint is SHA256:CxIuAEc3SZThY9XobrjJIHN61OTItAU0Emz0v/+15wY.
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.
Run Code Online (Sandbox Code Playgroud)
为了能够比较,我之前在SSH服务器上使用了这个命令,并将结果保存到客户端上的一个文件中:
# ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
2048 f6:bf:4d:d4:bd:d6:f3:da:29:a3:c3:42:96:26:4a:41 /etc/ssh/ssh_host_rsa_key.pub (RSA)
Run Code Online (Sandbox Code Playgroud)
出于某种重要原因(毫无疑问)这些命令中的一个使用了不同的(更新的?)显示哈希的方式,从而极大地帮助了中间人攻击者,因为它需要一个非平凡的转换来比较这些。
我如何比较这两个散列,或者更好:强制一个命令使用另一个的格式?
该-E选项ssh-keygen不可用在服务器上。
最近,我成功地在我的笔记本电脑上实现了指纹认证,这要感谢Goodix Linux Development Discord 社区以及https://github.com/infinytum/libfprint/tree/driver/538ddriver/538d分支上的 github 用户 Infinytum 和 Michael Teuscher 。
但在启用指纹登录fprintd-enroll和sudo访问后sudo pam-auth-update,我注意到一个问题:
每当我使用外接显示器工作时,盖子关闭时,我必须等待指纹验证超时才能输入密码sudo,这会导致几秒钟的延迟:
username@host:~/ron/libfprint$ sudo ls
Place your finger on the fingerprint reader
Place your finger on the reader again
Place your finger on the reader again
Place your finger on the reader again
Verification timed out
[sudo] password for username:
Run Code Online (Sandbox Code Playgroud)
如何在笔记本电脑盖关闭时禁用指纹验证,以便我sudo无需等待指纹超时即可输入密码?
在从文件导入密钥之前,我想检查密钥的指纹。根据centos wiki的说明,我使用命令
gpg --quiet --with-fingerprint <path of key file>
Run Code Online (Sandbox Code Playgroud)
. 如果我使用 gnupg 2.1.16(自编译)或 gnupg 2.1.17(openSUSE Tumbleweed 或 ArchLinux(命令gpg)),则输出不包含密钥。如果我使用 gnupg 2.1.15(自编译)或 gnupg 2.1.13(Fedora(命令gpg2)),输出将包含预期的指纹。
如何使用较新的 gnupg 版本获取指纹?
以下是关于我的测试的更多信息:
gpg --quiet --with-fingerprint ./RPM-GPG-KEY-CentOS-7(换行可能是错误的)
pub rsa4096 2014-06-23 [SC]
uid CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>
pub rsa4096 2014-06-23 [SC]
uid CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>
pub …有没有办法让 PAM 并行运行身份验证模块?
对于所有使用 PAM 的人来说这可能会有用。
看来 PAM 是按顺序和阻塞方式运行身份验证模块的。
对于想要使用多种身份验证机制的人来说,这意味着我们必须拥有一个不具有阻碍性的方法层次结构。
我试图解决的问题是 - GNome 密钥环需要密码才能解锁,但我也激活了 pam_fprintd...并且正在使用面部识别摄像头。
这意味着当我第一次登录时 - 首先是 pam_fprintd 块,然后是面部识别块,然后我才能输入密码。
sudo 也会发生这种情况。这是一个主要的 PITA。
我想有效地利用笔记本电脑上的指纹识别器。我能够通过 PAM 配置指纹读取(使用此处fprint第二条评论中描述的步骤),但我遇到了一个小问题。
使用指纹识别器登录时,GNOME 密钥环未解锁。现在我明白这是这种方式,因为fprint密钥环不支持基于硬件的密钥库解锁,例如 Windows Hello。我对此限制没有任何问题,但这意味着我必须在登录时输入密码。
我现在解决这个问题的方法是在第一次登录时等待 10 秒,这样指纹读取器就会超时,然后我会收到密码提示。然后我输入密码进行登录,密钥环通过登录解锁。当我解锁设备或随后运行 sudo 命令时,我仍然会使用指纹识别器。
所以我的问题是,是否可以配置 PAM,让我可以直接使用密码进行首次登录(无需等待指纹传感器超时),同时仍然允许我使用指纹解锁并运行 sudo 命令读者。
我正在使用 Cinnamon 桌面运行 Linux Mint。
我目前在联想 ThinkPad L530 上运行 Manjaro Linux。这台机器有一个集成的 UPEK 指纹识别器,带有 USB-ID 147e:1002。现在我要做的是使用该指纹读取器从 AUR 设置指纹 gui 包,但它无法识别该设备。不过,它显示在“附加的 USB 设备”列表中。但是,当我fingerprint-gui以 root 用户(或使用 sudo)运行该命令时,它会正确识别读取器并且能够毫无问题地使用它。
是否有可能在不以 root 身份登录的情况下使用指纹读取器?
所以我已经ZorinOS安装在我的ASUS ZenBook UX330UA-AH54,但是,将FingerprintGUI我的指纹传感器(Elantech我认为)显示为未知设备。是否有任何自定义软件或修复程序可用于让我的笔记本电脑取货fingerprint sensor?
我管理很多主机,每次我ssh第一次进入新批次时,告诉yes每个主机的安全 shell 客户端我接受主机密钥指纹以添加到~/.ssh/known_hosts. 如果我们认为我确信实际上没有泄露的主机密钥,那么有什么方法可以自动执行此操作吗?我不想禁用后续连接的密钥检查。
为了便于讨论,假设我在文本文件 .txt 中有所有主机的列表hostlist.txt。
当我第一次连接到 Dropbear SSH 服务器时,我收到以下消息:
me@laptop:~$ ssh me@server
The authenticity of host 'server' can't be established.
RSA key fingerprint is SHA256:NycCxoRiiSAGA7Rvlnuf1gU8pazIpXJKZ3ukdivyam8.
Are you sure you want to continue connecting (yes/no)?
Run Code Online (Sandbox Code Playgroud)
为了确保这是正确的服务器,我想将该消息中指定的指纹与服务器的真实指纹进行比较。如何找到服务器的 RSA 主机密钥指纹?
我正在尝试让我的指纹传感器 thinkpad x390 Yoga 工作。我printfd使用 yay 安装了软件包。当我尝试运行时fprintd-enroll,出现以下错误:
Using device /net/reactivated/Fprint/Device/0
failed to claim device: GDBus.Error:net.reactivated.Fprint.Error.Internal: Open failed with error: The driver encountered a protocol error with the device.
Run Code Online (Sandbox Code Playgroud)
当我尝试第二次运行它时,我得到以下信息:
Using device /net/reactivated/Fprint/Device/0
failed to claim device: GDBus.Error:net.reactivated.Fprint.Error.Internal: Open failed with error: Device 06cb:00bd is already open
Run Code Online (Sandbox Code Playgroud)
我尝试安装thinkfinger软件包但仍然没有运气。我该如何解决这个问题?
这是我的lsusb输出:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 …Run Code Online (Sandbox Code Playgroud) fingerprint ×10
pam ×3
ssh ×3
arch-linux ×2
ssh-keygen ×2
ubuntu ×2
acpi ×1
asus ×1
device-tree ×1
drivers ×1
dropbear ×1
gdm3 ×1
gpg ×1
hashsum ×1
linux-mint ×1
manjaro ×1
sshd ×1
sudo ×1
systemd ×1
zenbook ×1
zorin ×1