SSH ログイン このシェルでは機能しますが、すべてのサードパーティで SSH トンネルを介したログインが失敗するのはなぜですか。

SSH ログイン このシェルでは機能しますが、すべてのサードパーティで SSH トンネルを介したログインが失敗するのはなぜですか。

私はsshリモートサーバーにログインするために使用します(最初にパスワードを求めるメッセージを表示します)。

シェルで次のコマンドを使用します。

ssh [email protected]

良い結果!ただし、テストした他のすべてのデータベースソフトウェアアプリケーション(DbeaverおよびRedis Desktop Manager)は、SSHトンネルを使用しようとしたときに失敗しました。私の秘密鍵を選択しました。/home/myuser/.ssh/id_dsa

Redis Desktop Managerの例: RDDM

Dbeaverの例: ここに画像の説明を入力してください。

トンネルを設定する場合:

ssh [email protected] -L 6379:127.0.0.1:6379 -N

127.0.0.1:6379に接続できます。つまり、トンネルが稼働しています。これが第三者を通して機能しないのはなぜですか?

リモートサーバーはCentOS 6を実行しており、私のデスクトップはUbuntu 14を実行しています。

答え1

コメントで言われましたが、

コンピュータの再起動後にssh再度ログインしようとすると、id_dsaファイルのロックを解除するためにパスワードの入力を求められます。

答えの少なくとも一部があります。他のツールは秘密鍵のロックを解除したり、ssh-agent代わりに認証したりすることはできません。個人証明書からパスワードを削除する必要があります。

構文は次のとおりです。

ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

あなたのコメントで指摘したように、実際の適用は次のとおりです。

ssh-keygen -p -f ~/.ssh/id_dsa

問題の次の部分は、Javaおよび.NET用の一部のサードパーティライブラリがRSA SSHキーのみを処理できることです。 (私の経験では)特定のキーの長さまでしか処理できません。 DSA と ECDSA はオプションではありません。

そうでない場合は、~/.ssh/id_rsaそれを作成して公開部分をリモートホストにコピーする必要があります。

ssh-keygen -t rsa
ssh remoteuser@remotehost 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

問題の別の部分は、秘密鍵が「間違った」形式です。変換が必要。 Redis Desktop Managerのドキュメントを簡単に読むとそうではありませんが、もう一度確認する価値があります。アップデート:そうだと思います。JSCH - 無効な秘密鍵キーがOpenSSH形式であることを確認してください。これはすでに使用されている形式のようです。

関連情報