홈 디렉토리가 없는 계정으로 SSH 접속

홈 디렉토리가 없는 계정으로 SSH 접속

내 후속 조치로더 일찍문제는 다음과 같이 로컬 사용자 계정을 만들기로 결정했습니다.

adduser --system --no-create-home USERNAME

이제 로컬 사용자가 사용할 수 있기를 바랍니다 ssh. 제가 이해한 바에 따르면 ssh작동 방식은 다음과 같습니다.

2대의 컴퓨터가 있다고 가정해 보겠습니다.α그리고베타).

  • ~에서α기계:ssh user@beta
  • 알파스공개 키는 다음 위치 ~/.ssh/authorized_keys에 표시됩니다.베타기계.
  • 알파스개인 키가 다음 /~/.ssh에 나타납니다.α기계.

이제 구현하려고 계획했습니다.집이 없어사용자를 위해. 그럼 내가 adduser들어간다고 해보자베타사용자가 거주하지 않는 컴퓨터에 SSH로 접속할 수 있나요?베타~에서α?

답변1

~/.ssh/sshd들어오는 사용자의 공개 키를 찾기 위한 기본 위치입니다. 의 지시문을 sshd수정하여 찾을 위치와 파일을 구성 할 수 있습니다 . 내 현재 모습은 다음과 같습니다.AuthorizedKeysFile/etc/ssh/sshd_config

AuthorizedKeysFile     %h/.ssh/authorized_keys

매뉴얼 sshd_config페이지에 자세한 내용이 나와 있습니다.

 AuthorizedKeysFile
     Specifies the file that contains the public keys that can be used for user authentication.  The format is
     described in the AUTHORIZED_KEYS FILE FORMAT section of sshd(8).  AuthorizedKeysFile may contain tokens of
     the form %T which are substituted during connection setup.  The following tokens are defined: %% is
     replaced by a literal '%', %h is replaced by the home directory of the user being authenticated, and %u is
     replaced by the username of that user.  After expansion, AuthorizedKeysFile is taken to be an absolute
     path or one relative to the user's home directory.  Multiple files may be listed, separated by whitespace.
     The default is “.ssh/authorized_keys .ssh/authorized_keys2”.

sshd사용자 파일에 대한 권한 은 authorized_key매우 특별합니다. 이 옵션을 설정하고 로그인 문제가 발생하는 경우 로그에 세심한 주의를 기울이는 것이 좋습니다.

답변2

AuthorizedKeysFile당신은 만들 수 있습니다노숙자사용자를 그룹화하고 특정 위치를 설정합니다.

몇 줄만 추가하면 됩니다 /etc/ssh/sshd_config/.

Match group homeless
    AuthorizedKeysFile /etc/ssh/authorized-keys/%u

( %uSSH 구성 토큰런타임 시 로컬 사용자 이름으로 확장됨)

그런 다음 사용자 키를 만듭니다.

sudo -u <username> bash -c "ssh-keygen -t ecdsa -b 256 -f /etc/ssh/authorized-keys/<username> -q -N ''"

관련 정보