質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • AWS(Amazon Web Services)

    2537questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • SSH

    684questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Cyberduckを利用してファイルをアップロードする方法について

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,218

k.t.est

score 26

AWSを利用しておりまして、パブリックサブネット内にある踏み台サーバーを経由して、プライベートサブネットの内のEC2(目的サーバー)にファイルをアップロードする際に、cyberduckを利用したいのですが、どのように行えばいいのでしょうか?

http://digitalfarm-staffblog.com/all/2017031313/

こちらの記事を参考にして、コマンドラインでssh -L 10220:目的サーバーIP:22 踏み台USER@踏み台IP(記事では踏み台HOSTとなっていましたが、ホスト名だと踏み台サーバーにログインできませんでした)と入力し、踏み台サーバーにログイン後、cyberduck下記設定を行ったものの、timed outで接続できない状況です。

サーバー名 : localhost
ポート名 : 10220
ユーザー名 : user_name
SSH Private Key : ローカルPC上での秘密鍵へのpath

なお、使用端末はmacです。
なお、セキュリティグループの設定が間違っているのでしょうか?(踏み台サーバーから目的サーバーssh接続(ポート:22)を受けられるようにしておりますが、10220については何も設定しておりません。)

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

check解決した方法

0

最終的に、こちらの記事を参考にさせて頂きまして

https://cloudpack.media/9675

ssh -f -N -L 10220:xxxxx.ap-northeast-1.compute.amazonaws.com:22 [踏み台user_name]@[踏み台IP] -i [local端末の秘密鍵path]

これでトンネルを張った状態で、cyberduckで下記設定を行い、無事繋げることが出来ました。

サーバー名 : localhost
ポート名 : 10220
ユーザー名 : user_name
SSH Private Key : ローカルPC上での秘密鍵へのpath

ちなみにその後、踏み台サーバーの:/etc/ssh/sshd_config のファイルの設定から下記を削除

-AllowTCPForwarding yes
-Permit Open any

目的サーバーの:/etc/hosts.allow のファイルの設定から下記を削除
-sshd : ALL

設定を保存後、いずれのサーバーにおいてもsshdをrestartさせましたが、
トンネルが繋がった状況は維持できました。

ssh -L 10220:目的サーバーIP:22 踏み台USER@踏み台IP

では接続出来なかった理由が不明ですので、どなたか解説戴けますと幸甚です。

最後になりましたが、moonphase様丁寧にご教示頂きまして有難う御座いました。本当に助かりました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

以下正しいか確認お願いします。

mac -> 踏み台: 踏み台のセキュリティグループ、インバウンドルールにmacからアクセスする際のグローバルIPアドレス:22が許可されていることを確認

踏み台 -> 目的サーバー: セキュリティグループで22が許可されていることを確認

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/07/11 17:28

    この点は確認できております。秘密鍵を利用したssh接続については、踏み台サーバー経由して、目的サーバーにアクセス可能で御座います。

    キャンセル

  • 2017/07/12 11:55

    同じような構成でトンネル作ってCyberduckで接続を試みたら問題なくアクセスできました。
    今一度、次を確認お願いします。

    ・mac -> 踏み台 SSH接続可能かどうか
    ・踏み台 -> 目的サーバ SSH接続可能かどうか

    キャンセル

  • 2017/07/12 13:40

    有難う御座います。おそらくセキュリティグループの設定が正しくできていないのですね。

    ssh -A [user_name]@踏み台IPアドレス -i [秘密鍵のpath@local端末]
    これで踏み台サーバーにアクセス。その後、踏み台サーバーより
    ssh [user_name]@プライベートIPアドレス
    これで目的サーバーにアクセス可能となっております。

    セキュリティグループの設定ですが、
    mac -> 踏み台サーバー : type ssh 22番ポートをインバウンドルールに追加(ソースはmy ip)しております
    踏み台 -> 目的サーバー : type ssh 22番ポートをインバウンドルールに追加(ソースはmac-踏み台間のセキュリティグループを指定)
    となっております。
    よろしくお願いいたします。

    キャンセル

  • 2017/07/12 14:27

    SSHトンネルを張っている状態で、次のコマンドは実行できますか?
    ssh -p 10220 [対象サーバuser_name]@localhost -i 対象サーバにログインするための秘密鍵

    キャンセル

  • 2017/07/12 14:41

    踏み台サーバーには目的サーバーにログインする為の秘密鍵をおいていない為(macにしか秘密鍵をおいていない為)、「対象サーバにログインするための秘密鍵」の部分がNo such file or directoryエラーになってしまいます。秘密鍵はmacにだけおいて置きたいのですが、それはできないのでしょうか?

    キャンセル

  • 2017/07/12 14:42

    No such file or directoryとなり、
    ssh -p 10220 [対象サーバuser_name]@localhost -i 対象サーバにログインするための秘密鍵
    は実行できませんでした。

    キャンセル

  • 2017/07/12 14:51

    踏み台サーバで実行するのではなく、手元のMacで実行すればOKです。

    キャンセル

  • 2017/07/12 15:01

    Macで実行した結果ですが、実行できませんでした。
    トンネル張った状態で、手元macからコマンド入力したのですが、コマンド実行結果が出る前に、トンネル自体が、channel 3: open failed: connect failed: Connection timed outとなってしまいました。
    その結果、手元macで実行した結果は、ssh_exchange_identification: Connection closed by remote hostとなり、実行できませんでした。

    キャンセル

  • 2017/07/12 15:07

    踏み台サーバ上の設定で、TCPフォワーディングが有効になっていないと思われます。
    踏み台サーバ:/etc/ssh/sshd_config
    に以下の設定を入れて、sshdを再起動してみてください。
    AllowTCPForwarding yes

    キャンセル

  • 2017/07/12 15:24

    AllowTCPForwading yesがコメントアウトされていたので、#を外してsshd_configを保存、sshdをrestartし、再度トンネルを張りリトライしたのですが、結果は同じで御座いました。全く同じエラーでトンネルがtimed outになり、手元macからのコマンドがssh_exchange_identification: Connection closed by remote hostとなってしまいました。

    キャンセル

  • 2017/07/12 15:51

    以下も設定に入れてみてください。(私の環境では設定は存在してませんが)
    PermitOpen 1

    キャンセル

  • 2017/07/12 16:01

    私の環境でも設定が存在しなかった為、sshd_config内のAllowTcpForwarding yesの下に追加しました。
    しかしながら、「1」だとrestartできませんでした(エラー内容 : /etc/ssh/sshd_config line 118: bad port number in PermitOpen)。
    そこで「PermitOpen any」としてsshdをrestartしました。
    しかしながら、これでも同じエラーが発生し、
    ssh -p 10220 [対象サーバuser_name]@localhost -i 対象サーバにログインするための秘密鍵
    は実行できませんでした。

    キャンセル

  • 2017/07/12 16:11

    "ssh_exchange_identification: Connection closed by remote host"
    メッセージを見逃していました。
    これはSSHのアクセス制御で使われているので、対象サーバの"/etc/hosts.allow"を確認してみてください。
    編集可能なら
    sshd:ALL
    と追加すれば大丈夫と思います。

    キャンセル

  • 2017/07/12 16:18

    目的サーバーの"/etc/hosts.allow"を編集し(このファイルは全てコメントアウトされていました)、root権限でsshd:ALLと追加・保存しました。再度トンネルを張り直して、手元macからコマンドを打ちましたら、
    同じくssh_exchange_identification: Connection closed by remote hostとなってしまいました。

    キャンセル

同じタグがついた質問を見る

  • AWS(Amazon Web Services)

    2537questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • SSH

    684questions

    SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。