SSH が組み込まれた TightVNC Java Viewer を使用して Ubuntu Google Compute Engine インスタンスに接続するにはどうすればよいでしょうか?

SSH が組み込まれた TightVNC Java Viewer を使用して Ubuntu Google Compute Engine インスタンスに接続するにはどうすればよいでしょうか?

私はここからダウンロードした TightVNC Java Viewer を使用しています:https://www.tightvnc.com/release-jviewer-2.6.phpSSH サポートが組み込まれています。これを使用して、Ubuntu 16.04 を実行する Google Compute Engine インスタンスに接続したいと思います。

これまで、さまざまなオンラインドキュメントを参照して、次の手順を実行しました。

  1. Ubuntu インスタンスに TightVNC サーバーをインストールしました。

  2. VNCサーバーを起動しましたvncserver -localhost :1

  3. OpenSSH サーバーはインスタンスにすでにインストールされています。

  4. インスタンスに静的外部IPアドレスを割り当てました

  5. SSH ホストをインスタンスの外部 IP アドレス、SSH ポートをデフォルト、SSH ユーザーをインスタンス所有者、リモート ホストをローカルホスト、ポートを VNC ポートとして指定し、TightVNC Java ビューアを使用して VNC サーバーにアクセスしようとし22ました5901

しかし、次のエラーが発生して接続に失敗しました:SSH 接続を確立できません: サポートされている認証方法がありません。

5901注: Compute Engine のファイアウォール設定でポートを直接開いて を実行すると、SSH を使用せずに VNC 接続が機能することをテストしましたvncserver :1。このように、TightVNC Java Viewer 自体を使用して、Ubuntu にインストールした Mate デスクトップにアクセスできます。ただし、代わりに SSH を介した安全な接続を使用したいと思います。これを有効にするには、他に何をする必要がありますか?

答え1

あるいは、より安全なキーベースの認証を使用する場合は、SSH クライアントを使用して独立してトンネルを確立し、それを介して vncviewer を実行することができます。Unix ベースのシステムから接続している場合は、次のようなコマンドが機能します。

ssh -i /path/to/key -L 5901:localhost:5901 [email protected]

または、Windows から接続する場合、putty は GUI を提供し、トンネリングも実行できます。次に、vncviewer を ssh なしで localhost:5901 に向けるだけで、パスワードをネットワーク経由で渡すことなく暗号化された vnc 接続が行われます。

答え2

この投稿から、現在 TightVNC は SSH のパスワード認証のみをサポートしており、秘密鍵認証はサポートしていないことがわかりました。http://vnc-tight-list.narkive.com/IGmBV7W6/tightvnc-java-viewer-jsch-key-based-authenticationそのため、これを使用するには、次の手順に従って、Compute Engine インスタンスで SSH のパスワード認証を有効にする必要があります。http://itmeditate.blogspot.in/2014/03/enable-password-authentication-for.htmlそこに記載されている注意事項を付記します。

さらに、以下の設定がされていることを確認してください。sshd_config は、ファイル:

PermitRootLogin prohibit-password
PermitEmptyPasswords no
PasswordAuthentication no

そして、ここに示すように、ファイルの末尾で特定のユーザー名に対してのみパスワード認証を許可します。https://serverfault.com/questions/307407/ssh-allow-password-for-one-user-rest-only-allow-public-keys

関連情報