linux – 查找当前连接的端口号SSH
发布时间:2020-12-13 19:29:47 所属栏目:Linux 来源:网络整理
导读:我正在使用SSH连接创建一个本地模拟器(未连接到Internet).我已经开始使用特定范围的端口号进行sshd,并对一系列设备进行NAT处理.我必须找到当前连接的端口号. OS CentOS 5.5 OpenSSH 6.1 我做了以下事情.它适用于正常使用(手动用户).但是当尝试严格的测试(自
我正在使用SSH连接创建一个本地模拟器(未连接到Internet).我已经开始使用特定范围的端口号进行sshd,并对一系列设备进行NAT处理.我必须找到当前连接的端口号.
OS CentOS 5.5 我做了以下事情.它适用于正常使用(手动用户).但是当尝试严格的测试(自动化)时,似乎有时找不到端口号. #!/bin/bash WHOINFO=`who -m` USERNAME=`echo $WHOINFO | awk 'NR==1{print $1}'` PTSNUMBER=`echo $WHOINFO | awk 'NR==1{print $2}'` USERSTR=$USERNAME"@"$PTSNUMBER PID=`ps -eLf | grep $USERSTR | awk 'NR==1{print $3}'` if [ -z "$PID" ]; then exit fi PORTSTR=`netstat -natp | grep $PID | awk 'NR==1{print $4}'` PORTNUMBER=${PORTSTR//*:/} echo $PORTNUMBER 解决方法
OpenSSH服务器将设置变量$SSH_CLIENT,其中包含以空格分隔的当前ip,客户端端口和服务器端口:
$echo "$SSH_CLIENT" 127.0.0.1 59064 22 要获取当前会话所连接的端口号,可以使用echo ${SSH_CLIENT ## *}. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |