私はssh
リモートサーバーにログインするために使用します(最初にパスワードを求めるメッセージを表示します)。
シェルで次のコマンドを使用します。
ssh [email protected]
良い結果!ただし、テストした他のすべてのデータベースソフトウェアアプリケーション(DbeaverおよびRedis Desktop Manager)は、SSHトンネルを使用しようとしたときに失敗しました。私の秘密鍵を選択しました。/home/myuser/.ssh/id_dsa。
Redis Desktop Managerの例:
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形式であることを確認してください。これはすでに使用されている形式のようです。