gpt4 book ai didi

linux - 如何从 perl 脚本中注销 ssh session ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:56 25 4
gpt4 key购买 nike

我有一个 perl 脚本,用于在打开 ssh shell 后执行第二层身份验证。它要求输入密码,在 n 次无效尝试后,脚本应该注销用户。这在 Debian 系统上运行。

现在的问题是,通常 ssh shell 是通过命令 exit 交互式关闭的。

当从反引号或 perl 脚本中的 system() 运行时,exit 不被识别为有效命令。那么如何从 perl 脚本中的 ssh session 注销用户呢?该脚本不负责 ssh session 。它在 Remote 上运行,并从 .bashrc 启动。

这是相关的代码段:

while ($actualpass ne $password) {
++$attempts;
if ( $attempts > $maxattempts ) {
`/bin/bash /root/ascii_breach`;
`/bin/bash exit`;
}

/bin/bash exit 显然不起作用。

最佳答案

听起来你有点倒退了。我认为您正在做的是通过 ssh 连接到运行 shell 的远程主机,该 shell 运行 perl,然后 perl 想要退出 shell。更好的方法是通过 ssh 连接到主机以直接运行 perl 脚本。只有身份验证通过,perl 脚本才会启动 shell。

您可以将 sshd 配置为在 authorized_keys 文件中运行您的身份验证脚本,假设这是用户进入的方式。

关于linux - 如何从 perl 脚本中注销 ssh session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23980963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com