admin
Synology DSM 6では、SSHはユーザーがこのグループのメンバーになることを要求しているようです。
ただし、この場合でも、root以外のユーザーに対するキーベースの認証が成功しないようにするファイル/ディレクトリ権限の問題があるようです(/root/.ssh/authorized_keys
標準はrootユーザーにとってうまく機能します)。
特に、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 Update 4 を使用した非 root 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}"