
私はソフトウェア開発者で、Windows サーバーからファイルをドロップするために顧客の axway tumbleweed サーバーに接続しようとしています。まず、コーディングを始める前に、FileZilla や PuTTY などの標準ツールを使用して、それがどのように機能するかを把握し、それが可能であることを自分自身で証明しようとしていますが、FileZilla を使用して SFTP のように tumbleweed にアクセスできるかどうか、または特別な SSH ファイル サーバー ツールなどが必要なのか、正直なところわかりません。
彼らが提供してくれた情報を何日間も見つめ、インターネットをくまなく調べましたが、私に求められていることがそもそも可能かどうかわかりません。記事や回答の中には、「FileZilla と PuTTY は公開鍵と互換性がある」と書かれているものもあれば、「リモート サーバーに接続するには PPK ファイルが必要です」と書かれているものもあります。
暗号学の私の理解では、相手の公開鍵を送るのは理にかなっているので、私の側は与えられた鍵を使って通信を暗号化して相手に送り、相手は秘密鍵を使ってそれを復号化できるのですが、実際にどうすればいいのでしょうか?するそれ?
私は以下のものを与えられました:
- PuTTY と FileZilla ではまったく処理されない .pub ファイル
- 少なくとも DNS で IP に解決されるサーバーの URL ですが、FileZilla は URL が有効であると判断した後にタイムアウトします。
- ファイルをドロップするフォルダパス
.pub ファイルを PuTTYgen または PAgeant にインポートしようとすると、「秘密鍵 (SSH-2 公開鍵 (RFC 4716 形式)) を読み込めませんでした」というメッセージが表示されます。もちろん、このエラーについて Google で検索してみましたが、私が言えるのは、「SSH-2 公開鍵 (RFC 4716 形式)」の部分が、おそらく私が受け取ったファイルの形式を説明しているということだけです。
この情報だけでサーバーに接続してファイルを保存するにはどうすればよいですか? または、状況に関する私の理解に誤りがあり、実際には不可能である理由を教えてください。あるいは、その両方ですか?
答え1
正直なところ、FileZilla を使用して SFTP のように tumbleweed にアクセスできるのか、それとも特別な SSH ファイル サーバー ツールなどが必要なのか、まったくわかりません。
SFTPはSSH経由でファイルを転送するための標準的な方法です。SSH経由でファイルをアップロードするように指示された場合、最も可能性が高いつまり、SFTP の場合は、FileZilla または WinSCP で十分です。
(PuTTY 自体にはグラフィカル SFTP クライアントはなく、コマンドライン クライアントのみがあります)。ただし、WinSCP は PuTTY コアに基づいています。PuTTY がサポートする任意のサーバーと任意のキー形式は、WinSCP も同様にサポートします。)
Axway Tumbleweedについて私が見つけたわずかな情報によると、Webインターフェースがあり、SSH経由でSFTP接続も受け付けるようです。どうやらSFTPクライアントとしても機能し、ファイルをプルすることもできます。から別の SFTP サーバー。
彼らが提供してくれた情報を何日間も見つめ、インターネットをくまなく調べましたが、私に求められていることがそもそも可能かどうかわかりません。記事や回答の中には、「FileZilla と PuTTY は公開鍵と互換性がある」と書かれているものもあれば、「リモート サーバーに接続するには PPK ファイルが必要です」と書かれているものもあります。
これらの記事と回答(少なくともあなたが引用した部分)は、かなり多くの異なる事柄を混同しており、役に立たず誤解を招くものになっています。
一般的な SSH「公開鍵」認証メカニズムとの互換性。はい、実質的にすべての SSH クライアントはキーベースのユーザー認証をサポートしています。
OpenSSH ソフトウェアが公開鍵と秘密鍵を保存するために使用するファイル形式との互換性 (通常は「foo」と「foo.pub」の 2 つのファイルが生成されます)。
はい、FileZilla と PuTTY は OpenSSH 形式のキー ファイルを直接使用することも、使用可能な形式に変換することもできます (たとえば、PuTTYgen はそれらを .ppk ファイルにインポートできます)。
しかし、OpenSSHのssh-keygenが生成する2つのファイル(「somekey」と「somekey.pub」)のうち、前者のみ必要なデータがすべて含まれています。.pub ファイルだけでは不十分です。
最後に、使用できるのみSSH「公開鍵」認証を実行し、サーバーにログインするための公開鍵。
いいえ、その名前にもかかわらず、認証メカニズムは根本的に必要となるキーペアの公開部分と秘密部分の両方が使用され、異なるクライアントはこれを回避できません。
したがって、この記事の引用文を、.pub ファイルのみを .ppk ファイルの完全な代替として使用できると解釈するのは意味がありません。.pub ファイルには、そのために必要なデータは含まれておらず、通常は、必要なデータを含む別のファイルが付属しているだけなのです。
暗号に関する私の理解では、相手の公開鍵を私に送るのは理にかなっているので、私の側では与えられた鍵を使って通信を暗号化して相手に送信し、相手は秘密鍵を使ってそれを復号化できるのですが、実際にどうすればよいのでしょうか?
これは理論的には理にかなっていますが、SSH では公開鍵がこのように使用されることはありません。公開鍵は実際の通信を暗号化するために使用されるのではなく、デジタル署名を作成するためにのみ使用されます。
まず、SSH は DH/ECDH アルゴリズムを使用して暗号化キーを確立し、サーバーは「ホスト キー」のみを使用して結果に署名し、その ID を証明します。
その後のログイン/認証段階で、クライアントは独自のキーペアを使用して、サーバーが検証するランダム データに署名することで ID を証明します。この時点では暗号化はすでに有効になっており、キーペアは暗号化にまったく影響しません。
この情報だけでサーバーに接続してファイルを保存するにはどうすればよいですか? または、状況に関する私の理解に誤りがあり、実際には不可能である理由を教えてください。あるいは、その両方ですか?
十分な情報が提供されていないため、サーバーに接続できないと言わせていただきます。ただし、いくつかの可能性が考えられます:
間違ったファイルを渡されました。たとえば、システム管理者が を使用して SSH キーペアを作成し
ssh-keygen
、「jrud_key」ファイルと「jrud_key.pub」ファイルを取得し、前者を電子メールで送信するつもりでしたが、誤って後者を添付してしまいました。これは、特にこれまで SSH キーペアを使用したことがなく、管理者がキーペアを作成してプロセスを高速化したい場合には可能です。
彼らはあなたにサーバーの公開鍵を使用して、実際のサーバーに接続していることを確認できます。
可能ではありますが、これはあり得ません。ほとんどのシステム管理者は、キーの指紋代わりに(クライアントが検証のために提示するものであるため)、何も提供しないか、まったく提供しないかのどちらかです。
さらに、もしそうであったとしても、彼らはあなたにユーザー認証の詳細(秘密鍵ファイルでなければパスワード、またはあなた自身の.pubファイルを送るよう要求する)を与えていたはずです。彼らへその代わり。
SSH/SFTP 以外のものを使用することが求められます。