有没有办法使用命令行列出本地主机的所有可用 SSH 身份验证方法?基本上,我想看到服务器在尝试从(远程)客户端连接时宣布的相同列表。
注意:我不想搜索/etc/ssh/sshd_config,因为这需要过多了解一般存在哪些身份验证方法(例如sshd_config可能只是空的)
有更好的办法从这里+由我为本地主机的情况下修改:
ssh -o PreferredAuthentications=none -o NoHostAuthenticationForLocalhost=yes localhost
Run Code Online (Sandbox Code Playgroud)
nmap也可以使用以下方法来做到这一点ssh-auth-methods:
nmap -p 22 --script ssh-auth-methods localhost
Run Code Online (Sandbox Code Playgroud)
输出示例:
Starting Nmap 7.91 ( https://nmap.org ) at 2021-08-16 12:07 +07
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000087s latency).
PORT STATE SERVICE
22/tcp open ssh
| ssh-auth-methods:
| Supported authentication methods:
| publickey
|_ password
Nmap done: 1 IP address (1 host up) scanned in 0.26 seconds
Run Code Online (Sandbox Code Playgroud)
它在幕后所做的事情是在ssh-auth-methods.nse. 用于libssh2连接随机用户名并列出可能的身份验证方法。
(可以使用 打印出有效的 sshd 配置选项sshd -T,这将显示哪些选项有效,即使sshd_config为空。对于此用例,运行sshd -T | egrep 'permitrootlogin|authentication'将很有用。)
| 归档时间: |
|
| 查看次数: |
8292 次 |
| 最近记录: |