답변:
SSH 프로토콜은 호출에 요청 된 호스트 이름을 포함하지 않기 때문에 SSH를 수행 할 수 없습니다. HTTP는 요청 된 호스트 이름을 포함하는 몇 가지 프로토콜 중 하나이며, 이는 가상 호스팅에 사용되는 방법입니다. 대신 시도해 볼 수있는 몇 가지 다른 방법이 있습니다.
각 하위 도메인에 대해 별도의 사용자를 만들 수 있지만 "주"사용자와 동일한 UID를 사용합니다. 하위 도메인 사용자는 홈 디렉토리를 하위 디렉토리로 설정합니다. 예:
useradd -o -u 4711 -d /var/www/subdomain1 subdomain1
PAM 모듈을 사용하여 하위 도메인을 기반으로 인증하십시오. 그러한 모듈이 존재한다면 나는 그것이 무엇인지 알지 못하지만 조사해 볼 가치가 있습니다.
각 하위 도메인마다 별도의 SSH 키를 사용하십시오. 클라이언트 측 에서 올바른 키를 사용하여 로그인하도록 .ssh/config
입력 할 수 있도록 설정 ssh subdomain
하십시오. 서버 측에서 각 공개 키 authorized_keys
가 단어 로 시작하도록하십시오 environment="DOMAIN=subdomain"
. 서버 측에서도 환경 변수 .ssh/rc
에 따라 올바른 디렉토리로 cd 할 파일을 만듭니다 DOMAIN
. 이를 위해서는 서버를로 구성해야 PermitUserEnvironment yes
합니다.
cd
라고 생각하지 않았습니다.