PuTTYを介してDebian Google Compute Engineサーバーに接続しようとしています(他の方法も試してみました)が、エラーが発生します。「切断:サポートされている認証方法がありません(サーバー送信:publickey)
Googleサーバーには、ユーザー名とパスワードがなく、独自の端末に自動的にログインするためのURLのみが付属しています。
PuTTYが動作していて、ある日、このエラーが発生しました。
ソリューション:証明書(秘密キー)を含むフォルダーパス名を変更したため、Pageantが証明書を追跡できなくなり、空になりました。
証明書をPageantに再インストールすると、PuTTYが再び機能し始めました。
デフォルトでは、キーを使用してGoogle Compute EngineマシンにSSH接続する必要がありますが、そのレベルのセキュリティが必要ない場合はパスワード認証を有効にできます。
ヒント:ブラウザウィンドウで開くクラウドコンソールからSSHオプションを使用して、マシンにアクセスします。次に、
Sudo su - root
を使用してrootユーザーに切り替えて、以下の構成変更を行います。
/etc/ssh/sshd_config
ファイルを編集します。PasswordAuthentication
およびChallengeResponseAuthentication
をyes
に変更します。/etc/init.d/ssh restart
を再起動します。インスタンスにログインするには、SSHキーを使用する必要があります。
GCEのドキュメントでは、プロセスについて説明しています here 。
このガイドに従ってください: https://Gist.github.com/feczo/7282a6e00181fde4281b 写真付き。
要するに:
Puttygenを使用して、「生成」をクリックし、指示に従ってマウスを動かして待ちます
希望のユーザー名を入力してください
パスワードを入力してください
秘密鍵を保存します
'OpenSSH authorized_keys fileに貼り付けるための公開鍵'ウィンドウの内容全体をコピーします。すべての文字を最初から最後まで必ずコピーしてください!
Google Cloud Platform Consoleの インスタンスの作成ページ に移動し、詳細オプションのリンクに公開キーの内容を貼り付けます。
完了したら、インスタンスのIPアドレスをメモします。 PuTTYを開き、左側のメニューから[接続]、[SSH]、[認証]に移動し、保存されたキーファイルの場所を定義します。
左側のメニューから[接続/データ]に移動し、同じユーザー名を定義します
ここで、以前に指定したパスワードでログインし、Sudo su
を実行します-これで設定は完了です。
私は同じ問題を抱えていて、それを見つけました!
すでに行って、プライベート/パブリックキーを作成し、リモートサーバーにパブリックキーを追加した場合、username @ remotehost.comと入力し、[接続]-> [SSH]-> [認証]に移動し、[参照]をクリックしてプライベートキーを見つけます。選択すると、入力フィールドに入力されます。その後、開くをクリックします...
ここで重要なのは順序です...まずホストのパラメーターを入力してから、秘密鍵を見つけてください。
GCEメタデータセクションのキーの後ろにユーザー名を追加するのを忘れていたため、このエラーが発生しました。たとえば、次のようなエントリをメタデータセクションに追加します。
sshKeys username:key
username:
の部分を忘れてしまったため、そのユーザー名でログインしようとすると、サポートされていない認証方法エラーが発生しました。
または、sshキー要件を完全にオフにするには、私の その他の回答 をチェックしてください。
ホームフォルダーでSudo chmod -R a+rw
を実行すると、これも発生します。
同じ問題に直面し、何度か試行錯誤を繰り返して解決しました。/etc/ssh/ssh_configで、設定します
PubkeyAuthenticationはい
AuthorizedKeysFile .ssh/authorized_keys
パスワード認証
AuthenticationMethods publickey
次に、PuTTYを開きます。 [保存されたセッション]で、サーバーIPを入力し、左側のパネルで[接続]-> [SSH]-> [認証]-> [参照]のパスに移動して、秘密キーを検索して開きます。最後になりましたが、左パネルのセッションのPuTTYに戻り、サーバーのIPアドレスが「保存済みセッション」フィールドにあることを確認し、重要なステップである「保存」をクリックします。これにより、ユーザーはパスワードなしでログインできるようになります。楽しむ、
「PuttyGEN」をダウンロードし、公開鍵と秘密鍵を取得し、gcloud SSHを使用して編集し、/ home/USER/.ssh/authorized_keysにある公開鍵を貼り付けます
Sudo vim〜/ .ssh/authorized_keys
Iキーをタップして、publicKEYを貼り付けます。保存するには、Esc、:、w、q、Enterをタップします。/etc/ssh/sshd_configファイルを編集します。
Sudo vim /etc/ssh/sshd_config
変化する
PasswordAuthentication no [...] ChallengeResponseAuthentication to no。 [...] UsePAM no [...] sshを再起動します
/etc/init.d/ssh restart。
残りはPuTTYをチュートリアルNBとして設定します:ページェントを選択してキーを追加し、セッションを開始する方が良いでしょう
Linuxでssh-keygenで秘密鍵が生成された場合、PuTTYはopenssh鍵をサポートしないため、puttygenで変換する必要があります。
Puttygenを起動し、[変換-キーのインポート]をクリックし、[参照]をクリックして、opensshで生成された秘密キーを選択し、[秘密キーの保存]をクリックします。
新しいキーを使用して接続します。
電気が落ち、このエラーが発生しました。解決策は、.ppk(PuTTY秘密鍵)をダブルクリックして、パスワードを入力することでした。
この問題の主な原因は、接続しているユーザー名がGCEのシェルにアクセスできないことです。この問題を解決するには、次の手順を使用します。
gcloud auth list
正しいログインを使用している場合。以下の手順に従ってください。そうでなければ使用する
gcloud auth revoke --all
gcloud auth login [your-iam-user]
トークンを取得するか、トークンを自動的に検出します。
gcloud compute --project "{projectid}" ssh --zone "{zone_name}" "{instance_name}" .
上記の行がわからない場合は、compute engine-> ssh dropdown arrow-> view google command-> copy
をクリックしてそのコードを使用します
これでメタデータが更新され、コンピューターのフォルダーUsers->username
で利用可能になります
~/.ssh/google_compute_engine.ppk
~/.ssh/google_compute_engine.pub
次に、puttygen
を使用して新しいppkファイルを作成し、my_work_space
のようなユーザー名を指定します。次に、パブリックキーとプライベートキーをフォルダに保存します。
次のステップ:公開キーデータをputtygenからコピーし、gcloudメタデータに新しいsshキーを作成します
cloud console ->compute engine->metadata->ssh key->add new item->paste the key and save it
シェルコマンドラインツールを返し、次のように入力します
Sudo chown -R my_work_space /home/my_work_space
ここで、sftpを使用してこの秘密鍵をどこにでも接続します。許可エラーを表示せずにファイルを開きます
:) 幸せな時間。
私にとってこれらは私の問題でした https://unix.stackexchange.com/questions/282908/server-refused-public-key-signature-despite-accepting-key-PuTTY
「ログ/ var/log/secureを見ると、まったく拒否されていることがわかりました。私は、主にdebianのような人間なので、centosにやや新しいので、/ var/log/secureを知りませんでした。
これをチェックして少し検索した後、rootログインにキーだけを使用する場合、PermitRootLoginをパスワードなしでPermitRootLoginにする必要はありません。それはトリックをしました。貢献してくれてありがとう。」
同様の問題-同じエラーメッセージ。 sshを使用してbitbucketから何かを複製しようとすると、同じメッセージが表示されました。問題はMercurial.iniで構成された私のssh構成にありました:間違ったbitbucketユーザー名を使用しました。ユーザー名を修正した後、動作しました。
Rhel7でPasswordAuthenticationおよびChallengeResponseAuthenticationのデフォルトがNOに設定されています。
NOに変更して、sshdを再起動します。