Linux初心者はここにあります。
だからすぐにインストールしました。https://github.com/niruix/sshwifty私のサーバーに。私はサーバーにログインするときにSSHキーのみを使用します。私のSSHキーはパスワードで保護されています。
sshwifty経由でサーバーに接続しようとすると、私の秘密鍵の入力を求められます。
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,20DD60A29753E6F89413A2F03DE8B20F
私の秘密鍵はまだ暗号化されているので、それを復号化して出力をSshwiftyに貼り付ける必要があるようです。
私が試したこと:
openssl enc -d -aes-128-cbc -in id_rsa -out dec_rsa
これにより、深刻なマジックナンバーエラーが発生します。
ご協力ありがとうございます
答え1
コマンドはですopenssl rsa -in ~/.ssh/id_rsa
。
~/.ssh/id_rsa
暗号化されている場合は、秘密鍵openssl
を復号化するためにパスワードを入力するように求められます。そうしないと、キーが画面に直接出力されます。
しかし、そう言うと、してはいけないファイルを使用してくださいid_rsa
。 SshwiftyはバックエンドでSSH操作を実行するためです。重要性あなたが提供した秘密鍵は、ネットワークを介してバックエンドサーバーに送信されます。、秘密鍵はローカルコンピュータにのみ存在しなければならないので、少し怖いです。いいえ他の人に送ってください。
しかし、ここでは設計トレードオフを扱っています。 Sshwiftyバックエンドには、SSHサーバーでユーザーを認証するために秘密鍵が必要です。したがって、自分自身をよりよく保護するために、Sshwiftyで特別に使用するSSHキーペアを生成できます。
秘密鍵を生成するには、コマンドを実行し、ssh-keygen -t rsa -f ~/.ssh/my_server
要求時に秘密鍵が暗号化されないようにクリックEnter passphrase (empty for no passphrase):
するだけです。Enteropenssl
コマンドが正常に実行されると、~/.ssh/
ディレクトリに2つの新しいファイルがあります。my_server
1つはSshwiftyからSSHサーバーに接続するために使用できる秘密鍵、my_server.pub
もう1つはSSHに配布する必要がある公開鍵です。仕える人。
この場合、my_server
何らかの理由で違反が発生すると、1つのサーバーのみが影響を受けます。
では、「デザイン妥協」について話しましょう。
ソフトウェアを設計するときにWebブラウザで実行されているSSHクライアントライブラリを見つけるのに時間がかかりましたが、信頼できるライブラリが見つかりませんでした。その後、SSH仕様を読み取るのに時間を費やし、最終的に与えられた期限内にこれらの複雑なプロトコルを安全に実装することは不可能であると判断しました。
したがって、時間を節約できるだけでなく、戦闘テストを経て、予想される安全性を提供する必要があるため、現在のデザインを選択しました。
はい、私はSshwiftyの著者です。退屈して誤ってGoogleから私のソフトウェア名を検索してこのページに来ました。ちなみに、私は私のソフトウェアを宣伝するために質問を投稿することはまったくありません。
この答えが役に立つことを願っています。私の下手な英語力に申し訳ありません。
答え2
SSHキーにパスワードが不要になるように「パスワードを復号化する」には、次のコマンドを実行します。
ssh-keygen -p -f ~/.ssh/<private key file>
秘密鍵のパスワードを変更する命令です。パスワードを入力したら、新しいパスワードを入力する必要があります。 Enterキーを押して新しいパスワードを入力すると、パスワードなしで新しいパスワードが保存されます。