当试图通过广域网连接到SSH主机时,我正在尝试调试我有问题。我正在寻找一种方法来确认我的客户是否到达了正确的主机,并且在此过程中没有被路由到其他地方。我可以访问客户和他的主机。也许有一种方法可以监视主机端的每个SSH连接请求,以确认我的请求是否真的到达了它?
主机是运行Raspbian的Raspberry Pi,SSH版本是OpenSSH_6.0p1 Debian-4,OpenSSL 1.0.1e 2013年2月11日。
发布于 2014-01-27 08:09:05
你可以做两件事:
/var/log/secure和/var/log/messages开始。如果您在那里找不到sshd日志,请查看syslog配置以了解authpriv消息的去向。ssh-keyscan hostname > hostname-lan.pub,在WAN上运行ssh-keyscan hostname > hostname-wan.pub命令。然后比较这两个文件(diff hostname-lan.pub hostname-wan.pub)。如果您正在访问同一台服务器,则应该没有任何不同。(除非您使用不同的主机名;在这种情况下,主机名将不同,但其余的键将相同。)发布于 2014-01-27 08:06:35
也许有一种方法可以监视主机端的每个SSH连接请求,以确认我的请求是否真的到达了它?
是的,sshd将在主机上产生大量日志输出,如下所示:
Jan 26 13:49:55 Argon sshd[9928]: Connection from 1.2.3.4 port 42774
Jan 26 13:49:56 Argon sshd[9928]: Found matching DSA key: ...
Jan 26 13:49:56 Argon sshd[9928]: Postponed publickey for joseph from 1.2.3.4 port 42774 ssh2 [preauth]
Jan 26 13:49:56 Argon sshd[9928]: Found matching DSA key: ...
Jan 26 13:49:56 Argon sshd[9928]: Accepted publickey for joseph from 1.2.3.4 port 42774 ssh2
Jan 26 13:49:56 Argon sshd[9928]: pam_unix(sshd:session): session opened for user joseph by (uid=0)
Jan 26 13:49:56 Argon sshd[9928]: User child is on pid 9933
Jan 26 13:50:32 Argon sshd[9933]: Received disconnect from 1.2.3.4: 11: disconnected by user
Jan 26 13:50:32 Argon sshd[9928]: pam_unix(sshd:session): session closed for user joseph默认情况下,这些消息的优先级太低,无法在标准Debian日志中显示。您可能必须相应地调整sshd或syslog守护进程。如果您的Raspbian主机与我的Debian计算机类似(应该是),那么创建包含以下内容的文件/etc/rsyslog.d/everything.conf:
*.info -/var/log/everything这将导致所有级别信息或更高级别的日志消息出现在文件/var/log/everything中。这将为您提供与我上面的示例类似的输出。
https://unix.stackexchange.com/questions/111097
复制相似问题