web-dev-qa-db-ja.com

SSHアクセスが拒否されました(公開鍵)-事前認証ステップで失敗します

私は運がなくてその問題を解決するためにインターネットを見つけた別の解決策に疲れました:

  • /etc/ssh/のキーの正しいアクセス許可、プライベートRSAキーの場合は400、パブリックRSAキーの場合は600。
  • /home/usersrv/.ssh/フォルダーの場合は700。 authorized_keysは存在しません。後で許可600で作成しました。ファイルはまだ空ですが、中に何かをコピーすることになっていますか?ホームディレクトリは、システムと同じボリューム上にあります。
  • 異なるポートで試してみました:22と2222

サーバー構成/etc/ssh/sshd_configuncommented part:

Port 2222
AddressFamily any
ListenAddress 0.0.0.0
ListenAddress ::

HostKey /etc/ssh/ssh_Host_rsa_key 

PermitRootLogin no  

RSAAuthentication yes
PubkeyAuthentication yes

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no
PermitEmptyPasswords no  

# Change to yes to enable challenge-response passwords (beware issues with# some PAM modules and threads)
ChallengeResponseAuthentication no   

KerberosAuthentication no
GSSAPIAuthentication no 
UsePAM yes
X11Forwarding yes
X11UseLocalhost yes
PermitTTY yes
PrintMotd no 

Win + PuTTYから接続しようとすると、エラーメッセージが表示されます:サポートされている認証方法がありません(サーバーが公開鍵を送信しました)

    /etc/ssh/sshd_config line 37: Deprecated option RSAAuthentication
debug1: sshd version OpenSSH_7.4, OpenSSL 1.0.2l  25 May 2017
debug1: private Host key #0: ssh-rsa SHA256:F61cGX7XOyKpBMChyVtxyaH2T23NoIr9+iAKCjRAbO4
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
debug1: Set /proc/self/oom_score_adj from 0 to -1000
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22.
debug1: Server will not fork when running in debugging mode.
debug1: rexec start in 5 out 5 newsock 5 pipe -1 sock 8
debug1: inetd sockets after dupping: 3, 3
Connection from 192.168.1.98 port 40922 on 192.168.1.98 port 22
debug1: Client protocol version 2.0; client software version OpenSSH_7.4p1 Debian-10+deb9u3
debug1: match: OpenSSH_7.4p1 Debian-10+deb9u3 pat OpenSSH* compat 0x04000000
debug1: Local version string SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u3
debug1: Enabling compatibility mode for protocol 2.0
debug1: permanently_set_uid: 110/65534 [preauth]
debug1: list_hostkey_types: ssh-rsa,rsa-sha2-512,rsa-sha2-256 [preauth]
debug1: SSH2_MSG_KEXINIT sent [preauth]
debug1: SSH2_MSG_KEXINIT received [preauth]
debug1: kex: algorithm: curve25519-sha256 [preauth]
debug1: kex: Host key algorithm: rsa-sha2-512 [preauth]
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none [preauth]
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none [preauth]
debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]
debug1: rekey after 134217728 blocks [preauth]
debug1: SSH2_MSG_NEWKEYS sent [preauth]
debug1: expecting SSH2_MSG_NEWKEYS [preauth]
debug1: SSH2_MSG_NEWKEYS received [preauth]
debug1: rekey after 134217728 blocks [preauth]
debug1: KEX done [preauth]
debug1: userauth-request for user usersrv service ssh-connection method none [preauth]
debug1: attempt 0 failures 0 [preauth]
reprocess config line 37: Deprecated option RSAAuthentication
debug1: PAM: initializing for "usersrv"
debug1: PAM: setting PAM_RHOST to "192.168.1.98"
debug1: PAM: setting PAM_TTY to "ssh"
Connection closed by 192.168.1.98 port 40922 [preauth]
debug1: do_cleanup [preauth]
debug1: monitor_read_log: child log fd closed
debug1: do_cleanup
debug1: PAM: cleanup
debug1: Killing privsep child 941
debug1: audit_event: unhandled event 12

そして、ローカル(usersrvの直下)にログインしようとすると、エラーが発生しました:アクセスが拒否されました(公開鍵)。

/etc/ssh/sshd_config line 37: Deprecated option RSAAuthentication
debug1: sshd version OpenSSH_7.4, OpenSSL 1.0.2l  25 May 2017
debug1: private Host key #0: ssh-rsa SHA256:F61cGX7XOyKpBMChyVtxyaH2T23NoIr9+iAKCjRAbO4
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
debug1: Set /proc/self/oom_score_adj from 0 to -1000
debug1: Bind to port 2222 on ::.
Server listening on :: port 2222.
debug1: Bind to port 2222 on 0.0.0.0.
Server listening on 0.0.0.0 port 2222.
debug1: Server will not fork when running in debugging mode.
debug1: rexec start in 5 out 5 newsock 5 pipe -1 sock 8
debug1: inetd sockets after dupping: 3, 3
Connection from 192.168.1.98 port 54596 on 192.168.1.98 port 2222
debug1: Client protocol version 2.0; client software version OpenSSH_7.4p1 Debian-10+deb9u3
debug1: match: OpenSSH_7.4p1 Debian-10+deb9u3 pat OpenSSH* compat 0x04000000
debug1: Local version string SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u3
debug1: Enabling compatibility mode for protocol 2.0
debug1: permanently_set_uid: 110/65534 [preauth]
debug1: list_hostkey_types: ssh-rsa,rsa-sha2-512,rsa-sha2-256 [preauth]
debug1: SSH2_MSG_KEXINIT sent [preauth]
debug1: SSH2_MSG_KEXINIT received [preauth]
debug1: kex: algorithm: curve25519-sha256 [preauth]
debug1: kex: Host key algorithm: rsa-sha2-512 [preauth]
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none [preauth]
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none [preauth]
debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]
debug1: rekey after 134217728 blocks [preauth]
debug1: SSH2_MSG_NEWKEYS sent [preauth]
debug1: expecting SSH2_MSG_NEWKEYS [preauth]
debug1: SSH2_MSG_NEWKEYS received [preauth]
debug1: rekey after 134217728 blocks [preauth]
debug1: KEX done [preauth]
debug1: userauth-request for user usersrv service ssh-connection method none [preauth]
debug1: attempt 0 failures 0 [preauth]
reprocess config line 37: Deprecated option RSAAuthentication
debug1: PAM: initializing for "usersrv"
debug1: PAM: setting PAM_RHOST to "192.168.1.98"
debug1: PAM: setting PAM_TTY to "ssh"
Connection closed by 192.168.1.98 port 54596 [preauth]
debug1: do_cleanup [preauth]
debug1: monitor_read_log: child log fd closed
debug1: do_cleanup
debug1: PAM: cleanup
debug1: Killing privsep child 1111
debug1: audit_event: unhandled event 12

誰かが同じ問題を抱えていたり、解決策を知っていますか?敬具。

1
J.Doe

コンピューターの公開鍵をサーバーに追加しなかったようです。クライアントコンピューターからの公開鍵はauthorized_keysファイルに保存されます。

/ etc/ssh/sshd_configのこの行をyesに変更します(後で再び元に戻すことができます)

PasswordAuthentication yes

そして、sshデーモンを再起動します

Sudo service ssh restart

次に、クライアントコンピューターから次のコマンドを発行して、公開鍵をサーバーにエクスポートします。

ssh-copy-id usersrv@server

コマンドプロンプトで、パスワードを入力します。その後、sshキーを介してサーバーにアクセスできるようになります。

1
Oleg Bolden