如何防止服务器为使用 nologin shell 的用户关闭 SSH 连接?

lim*_*law 5 ssh

基本信息:服务器操作系统:CentOS 6.3 客户端工具:PuTTY

我使用 PuTTY 通过 SSH 连接到我的服务器。我用 /sbin/nologin shell 添加了一个帐户。当我登录到该帐户(退出时选择“从不”关闭窗口)时,控制台显示“此帐户当前不可用”,PuTTY 提示“连接被远程主机关闭”。

但是我希望服务器应该只说“帐户不可用”而不关闭连接,以便我仍然可以通过此连接进行隧道传输。

我还注意到,对于普通的 /bin/bash 用户,在键入 exit 时,有时连接会关闭,有时服务器会说“注销”但仍处于连接状态(我仍然可以通过它进行隧道传输)。

那么,如何确保不关闭 nologin shell 帐户的连接呢?

Gil*_*il' 5

/usr/sbin/nologin允许使用作为其外壳的帐户设置端口转发。但是,如果您尝试运行 shell 命令,连接将被强制终止。解决方法是不运行 shell 命令。使用 OpenSSH(几乎所有非嵌入式 Unix/Linux 系统上的 SSH 实现),将选项传递-N给 SSH 客户端。

ssh -N -L 1234:somehost:5678 restricteduser@host.example.com
Run Code Online (Sandbox Code Playgroud)

使用 PuTTY,在 Connection > SSH 选项卡中勾选“Don't start a shell or command at all”


dch*_*kov 3

从男人 ssh:

The session terminates when the command or shell on the remote machine exits and all X11 and TCP connections have been closed.

我认为将 /bin/cat 作为日志 shell 的最简单方法(但不是唯一)。肮脏的黑客。