リモートサーバーを設定しています。sshd
公開鍵のみを使用するように設定します。リモートコンピュータに同じアカウントを持つ2つがあるため、.ssh/authorized_keys
同じキーを使用してログインできます。どちらかはルートで、試してみると次のようになります。
ssh -i /path/to/privatekey [email protected]
私は入った。問題ないただし、他の(権限のない)ユーザーと一緒に試してみると、次のようになります。
ssh -i /path/to/privatekey [email protected]
失敗します。 -v
公開された:
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /path/to/privatekey
debug1: Authentications that can continue: publickey
debug1: Trying private key: /path/to/privatekey
**debug1: key_parse_private_pem: PEM_read_PrivateKey failed**
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/path/to/privatekey':
root@server ログインが成功した後、アスタリスクの付いた行は表示されません。これはまた、ssh-agent
キーのパスワードをすでに持っているので奇妙です。 root@serverとしてログインするように求められません。 bob@server ログインが失敗して終了しました:
debug1: read PEM private key done: type DSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
権限などが/home/bob/.ssh
正しい[ただし、.sshディレクトリには実行ビットはありません。コメントを参照]。これは実際にはシステムのアップグレード/再インストールであり、構成を/etc
含む以前のバックアップがあります。sshd
私は何も変更しませんでした(パスワード認証を許可するとbobは入りますが)。これが以前にgitを介してシステムを使用していた方法です。したがって、git remote
bob @ serverを使用してsshを介して入力された複数のプロジェクトIDがあります。 、そしてそれを変えたくない、sshd
昔のように機能できないから…
答え1
次の点をご確認ください。
ディレクトリの権限は
.ssh
700です。ディレクトリに入るには、そのディレクトリに対する実行権限が必要です。ファイル権限は
authorized_keys
600でなければなりません。
システム管理者として、私はこの問題に直面しました。