我可以让 OpenSSH 的 sshd 接受一个不存在的用户的登录吗?

Pee*_*eja 7 ssh openssh

我正在尝试设置 sshd 在专用服务器上做一些时髦的事情。(也就是说,不要担心我为什么要问这么奇怪的问题;我只是在尝试看看如何滥用 OpenSSH。)

我想允许用户使用虚构的名称登录系统。例如:

$ ssh joeschmoe@crazysshserver.com
Run Code Online (Sandbox Code Playgroud)

在名为joeschmoe.

当他们连接时,我希望他们以确实存在的用户身份登录,命名为guest,并且在环境中设置了某些内容,joeschmoe以便我知道他们以谁的身份登录。

是否可以将 UNIX-user 和 ssh-user 的概念解耦?

小智 1

如果您想允许所有用户登录,您可以跳过密码检查,而是在他们第一次尝试登录时为他们创建一个帐户:

  1. 安装libpam-script。例如:

    sudo apt-get install libpam-script

  2. 在 的 auth 部分中/etc/pam.d/sshd,替换pam_unix.sopam_script.so. 某些 Linux 发行版会自动为您进行此更改。例如,在 Ubuntu 14.04 中,pam_script.so将添加到/etc/pam.d/common-auth包含在/etc/pam.d/sshd.

  3. /usr/share/libpam-script/pam_script_auth使用以下内容创建:

    #!/bin/bash adduser $PAM_USER --disabled-password --quiet --gecos "" exit 0

  4. 通过以下方式使脚本可执行:

    chmod +x /usr/share/libpam-script/pam_script_auth

  5. 要开心。

  • 这不会将他们添加为 UNIX 用户吗?我不希望他们创建新的 UNIX 用户;我希望他们以“访客”身份登录。 (2认同)