我有一个脚本,将由一个人使用SSH登录到服务器运行。
是否有一种方法可以自动找出用户从哪个IP地址连接?
当然,我可以询问用户(这是程序员的工具,所以这没有问题),但如果我自己找到答案,那就更好了。
我有一个脚本,将由一个人使用SSH登录到服务器运行。
是否有一种方法可以自动找出用户从哪个IP地址连接?
当然,我可以询问用户(这是程序员的工具,所以这没有问题),但如果我自己找到答案,那就更好了。
当前回答
Linux:我是谁| awk的{打印5美元}| sed的/ (())/ / g’
AIX:我是谁| awk的{打印6美元}| sed的/ (())/ / g’
其他回答
netstat -tapen | grep ssh | awk '{ print $4}'
who | cut -d"(" -f2 |cut -d")" -f1
搜索“myusername”帐户的SSH连接;
获取第一个结果字符串;
以第五纵队为例;
通过“:”分割并返回第一部分(端口号不需要,我们只需要IP):
Netstat -tapen | grep "sshd: myusername" | head -n1 | awk '{split($5, a, ":");打印一个[1]}’
另一种方法:
我是谁| awk '{l = length($5) - 2;打印substr($ 5,2, l)}'
who am i | awk '{print $5}' | sed 's/[()]//g' | cut -f1 -d "." | sed 's/-/./g'
export DISPLAY=`who am i | awk '{print $5}' | sed 's/[()]//g' | cut -f1 -d "." | sed 's/-/./g'`:0.0
当通过ssh登录并需要显示远程X时,我使用它来确定会话的DISPLAY变量。
在你的Linux机器上输入以下命令:
who