admin
Synology DSM 6에서 SSH는 사용자가 이 그룹의 구성원이 되도록 요구하는 것 같습니다 .
그러나 이 경우에도 루트가 아닌 사용자에 대한 키 기반 인증이 성공하지 못하게 하는 파일/디렉터리 권한 문제가 있는 것 같습니다( /root/.ssh/authorized_keys
표준은 루트 사용자에게 잘 작동함).
특히 SSH 키 기반 인증은 올바른 경우에도 실패합니다 ~/.ssh/authorized_keys
.
답변1
소개 - SSH 디버깅
첫째, SSH 인증 문제를 디버깅할 때 유용한 참고 사항입니다(어쨌든 제 경우에는).
Synology에서 디버그 모드로 서버를 실행합니다.
/bin/sshd -d -p 1234` as root;
다음을 사용하여 클라이언트에서 로그인하십시오.
ssh -p1234 -v <username>@<synology>
이렇게 하면 유용한 디버깅에 쉽게 액세스할 수 있습니다.
1단계 - sshd
구성 업데이트
기본값을 지원하도록 구성 편집 /etc/ssh/sshd_config
및 업데이트AuthorizedKeysFile
추가하다대체 파일 위치:
AuthorizedKeysFile /var/ssh-homes/%u/dot-ssh/authorized_keys .ssh/authorized_keys
SSH 서버를 다시 시작합니다. 이 경우 DSM GUI를 통해 가장 쉽게 수행할 수 있습니다.
속도:"SSH 활성화" 선택 취소 --> 적용 --> 재확인 --> 적용
2단계 - authorized_keys
해당하는 각 사용자에 대한 백업 파일 생성
이를 위해 /root/prepare-dot-ssh-authorized-keys
아래와 같이 다음 스크립트를 만들었습니다.
vi /root/prepare-dot-ssh-authorized-keys
또는 유사한 것을 사용하여 편집- 실행 가능하게 하다
chmod u+x /root/prepare-dot-ssh-authorized-keys
- Synology 사용자 이름으로 실행
/root/prepare-dot-ssh-authorized-keys <username>
인용하다
Synology 포럼에는 몇 가지 유용한 토론이 있습니다.DSM 6.2.2-24922 업데이트 4를 사용한 루트가 아닌 SSH 키 인증그리고SSH 서버는 루트를 제외한 모든 사용자의 키를 거부합니다.이로 인해 시간이 절약되고 순조롭게 진행되었습니다.
스크립트/root/prepare-dot-ssh-authorized-keys
#!/bin/bash -e
# https://community.synology.com/enu/forum/1/post/129890
if test -z "$1" ; then
echo "usage: $0 <username>"
echo ""
echo "Ensure config in /etc/ssh/sshd_config includes:"
echo "AuthorizedKeysFile /var/ssh-homes/%u/dot-ssh/authorized_keys .ssh/authorized_keys"
exit 1
fi
_DIR="/var/ssh-homes/$1/dot-ssh"
_AK="${_DIR}/authorized_keys"
if test -d "${_DIR}" ; then
echo "$0: ${_DIR} already exists"
exit 2
fi
if test -r "${_AK}" ; then
echo "$0: ${_AK} already exists"
exit 3
fi
mkdir -p "${_DIR}"
chmod og-rwx `dirname "${_DIR}"`
touch "${_AK}"
chown "${1}.users" -R `dirname "${_DIR}"`
echo "$0: created ${_AK}"