如何在 ssh 会话中获取客户端 IP?

如何在 ssh 会话中获取客户端 IP?

我有一个 /etc/ssh/sshrc 文件,每次 SSH 登录后都会给我发送电子邮件。它使用 $SSH_CLIENT 获取 IP 地址,但尝试了所有方法后,我得到的 IP 是 ::1。我如何获取 ssh 客户端的真实 IP,为什么它会给我本地主机的 IP?我刚刚意识到问题是由 sslh 引起的,它会将所有 ssh 连接从端口 443 转发到 22。有什么办法可以解决这个问题吗?

答案1

使用命令

sudo netstat -at | grep ssh

您可以查看谁已连接到SSH服务器。这可以写入一些 .log 文件

sudo netstat -at | grep ssh >> ssh.log

或者你可以创建脚本,类似这样的

nano ssh.sh

或者取一些不同的名字

#!/bin/bash
date >> ssh.log
netstat -at | grep ssh >> ssh.log

chmod 777。此脚本将首先写入日期和 ssh 会话此日志 cen 发送到电子邮件....

答案2

谢谢大家的帮助。我发现问题出在 sslh 上,解决方案是使用透明转发。

相关内容