kap*_*ale 12 ssh home-directory subdomain
我想知道是否可以为每个子域的同一个 ssh 用户设置不同的主目录。
因此,假设您使用ssh myuser@example.com主目录登录将是:
/www/httpdocs/
如果您使用ssh myuser@subdomain1.example.com主目录登录,则将是:
/www/subdomain1/
如果您使用ssh myuser@subdomain2.example.com主目录登录,则将是:
/www/subdomain2/
...
等等。
Jen*_*y D 19
SSH 不能这样做,因为 SSH 协议在调用中不包含请求的主机名。(HTTP 是少数包含请求的主机名的协议之一,这就是它可以用于虚拟主机的方式。)您还可以尝试其他一些方法:
您可以为每个子域创建单独的用户,但使用与“主”用户相同的 UID。子域用户将其主目录设置为子目录。例子:
useradd -o -u 4711 -d /var/www/subdomain1 subdomain1
使用 PAM 模块基于子域进行身份验证。如果存在这样的模块,我不知道它会是什么,但它可能值得研究。
为每个子域使用单独的 SSH 密钥。在客户端,设置 a.ssh/config以便您可以键入ssh subdomain以使其使用正确的密钥登录。在服务器端,每个公钥都authorized_keys以单词开头environment="DOMAIN=subdomain"。在服务器端,还要制作一个.ssh/rc文件,该文件将根据DOMAIN环境变量cd 到正确的目录。这需要将服务器配置为PermitUserEnvironment yes.