私はローカルネットワークにプライベートGitサーバーを設定しようとしていますが、私が何を間違っているのか私は一生不明です。 Gitユーザーの秘密鍵でSSH認証を取得できないようです。
ssh-keygen
rsa pub /秘密鍵を生成するためにクライアントで実行されました。~/.ssh/authorized_keys
サーバーにファイルを作成しました。コピーエラーがないことを確認するために、ファイルをサーバーに転送してからサーバーに戻して、ファイルid_rsa.pub
の内容をauthorized_keys
サーバーのファイルにコピーしました。 SSHデーモンを再起動しました。scp
cat id_rsa.pub > ~/.ssh/authorized_keys
クライアントでは、~/.ssh
フォルダの権限は700、~/.ssh/id_rsa
ファイルの権限は600です。サーバー上の~/.ssh
フォルダーの権限は 700、~/.ssh/authorized_keys
ファイルの権限は 600 です。
私のサーバーのSSH設定には、/etc/ssh/sshd_config
次のようにコメントアウトされていない行があります。
Include /etc/ssh/sshd_config.d/*.conf
KbdInteractiveAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
PasswordAuthentication yes
Match User git
PasswordAuthentication no
PubkeyAuthentication yes
フォルダ/etc/ssh/sshd_config.d/
が空です。サーバーが稼働していますUbuntu 22.04.1 LTS
。サーバーのSSHバージョンは次のとおりです。OpenSSH_8.9p1 Ubuntu-3ubuntu0.1, OpenSSL 3.0.2 15 Mar 2022
これを試している間、私は次のような挨拶を受けました。ssh [email protected]
Permission denied (publickey).
私は何を見逃していますか?ガイドを読んだ。キーを正確にコピーしたことを確認しました。以前はすでにSSHを設定しauthorized_keys
て動作していたサーバーのファイルに公開鍵を挿入したので、正直混乱しています。 sshd設定を許可に設定すると、PasswordAuthentication
私が設定したパスワードを使用してgitユーザーとしてログインできます。公開秘密鍵認証が機能しない理由は理解できません。
出力ssh [email protected] -vvv
https://pastebin.com/raw/nJwskYhU
答え1
次のエラーがあります/var/log/auth.log
。
Authentication refused: bad ownership or modes for directory <home directory>
私がしたことは、gitユーザーのホームディレクトリを新しい場所に移動することでした。私の考えはそれが問題だと思います。ホームディレクトリを問題を解決したディレクトリに戻します。ご意見ありがとうございます。サーバー側でログを見つけるつもりはありませんでした。