🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

AWS(Amazon Web Services)

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

Q&A

解決済

2回答

7946閲覧

scpコマンド サーバから踏み台に転送したい

hiroki88

総合スコア66

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2021/01/21 10:46

(やっていること)
TeraTermを使用しaws環境にアクセスしています。
踏み台からサーバにアクセスする形となっております。
踏み台とサーバはsshでアクセスします。

TeraTerm

1踏み台:ssh -i 秘密鍵のパス ユーザ名@ホスト名 -p ポート番号 2サーバ:ssh -i 秘密鍵のパス ユーザ名@ホスト名

(やりたい事)
サーバにあるディレクトリを踏み台に転送したいです。
転送の仕方はscpコマンドで行いたいです。
サーバにアクセスしている状態でscpコマンドを実行したいです。

(困っている事)
サーバにアクセスしている状態で下記のscpコマンドを実行した時に13890: No such file or directoryと表示されてしまいます。

TeraTerm

1scp -r -p -i 踏み台の秘密鍵 転送元ディレクトリパス 踏み台ユーザ名@ホスト名:転送先ディレクトリパス -P ポート番号

逆に踏み台にいる状態で下記のscpコマンドを実行すると転送できます。

TeraTerm

1scp -r -p -i サーバの秘密鍵 サーバユーザ名@ホスト名:転送元ディレクトリパス 転送先ディレクトリパス

ディレクトリパスはどちらも同じものを指定しており、エラーに関してはNo such file or directoryのみなのでどちらのパスが違うかも分かりません。
ちなみに踏み台でもサーバでも上記のscpコマンドで指定しているパスをcdコマンドで実行すると移動できます。
分かる方がいましたらご教示頂きたいです。よろしくお願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hidezzz

2021/01/21 11:01 編集

そもそも、サーバから踏み台へsshでログイン出来るようになっていますか? このようなサーバと踏み台という名前から想像されるような構成の場合、ファイアウォール等でサーバ→踏み台方向の接続は許可しないかまたはかなり限定的なアクセスしか許可しないように設定することが多いと思います。
hiroki88

2021/01/21 11:58

ご回答ありがとうございます。 そこについては今まで確認できていませんでした。 今までサーバから踏み台への切り替えはexitで行っていたのでsshで切り替えてみたところ下記のエラーで切り替えれませんでした。 Warning: Identity file 秘密鍵 not accessible: No such file or directory. ssh: Could not resolve hostname ホスト名: Name or service not known また別の回答で頂いているポート番号の位置を修正して実行したら同じエラーが表示されました。 これはご指摘いただいたようにファイヤーウォール等でブロックされているんですかね?
hidezzz

2021/01/21 12:31

多分、(TeraTermの入っている)Windowsマシン→踏み台→サーバの方向でしか接続をさせることが出来ないようになっていると思います。 提示されているエラーもファイアウォール以前の問題でエラーが出ています。サーバから見て踏み台のホスト名が分からないことと、サーバから踏み台に接続するための公開鍵認証用の鍵ファイルが設定されていないということだと思います。 ネットワーク管理者のかたにコンタクトをとって、どのような接続が可能な想定でネットワーク設定がされているのかを確認されるとよろしいかと思います。
hiroki88

2021/01/21 13:14

そうゆう事だったんですね。 大変分かりやすく説明していただきありがとうございます。 エラーになってしまう原因が納得いきました。 管理者の方に聞いてみます。 ベストアンサーにしたいのですが修正依頼の方にご回答いただいているので 回答の方に適当にコメントしていただいてもよろしいですか?
hidezzz

2021/01/21 13:17

では、上に書いたコメントを回答のほうに転記します。
guest

回答2

0

ベストアンサー

このようなサーバと踏み台という名前から想像されるような構成の場合、ファイアウォール等でサーバ→踏み台方向の接続は許可しないかまたはかなり限定的なアクセスしか許可しないように設定することが多いと思います。
多分、(TeraTermの入っている)Windowsマシン→踏み台→サーバの方向でしか接続をさせることが出来ないようになっていると思います。
提示されているエラーもファイアウォール以前の問題でエラーが出ています。サーバから見て踏み台のホスト名が分からないことと、サーバから踏み台に接続するための公開鍵認証用の鍵ファイルが設定されていないということだと思います。

ネットワーク管理者のかたにコンタクトをとって、どのような接続が可能な想定でネットワーク設定がされているのかを確認されるとよろしいかと思います。

投稿2021/01/21 13:17

編集2021/01/21 13:23
hidezzz

総合スコア1248

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroki88

2021/01/22 02:54

昨日はご教示頂きましてありがとうございました。 管理者に聞いてみたところ、サーバから踏み台にアクセスはできないとのことでした。 踏み台側からアクセスをしたいと思います。 本件とは関係ないのですがもう一点お聞きしたいことがあります。 踏み台にいる状態でローカルから踏み台にscpを行いたいのですがその場合色々分からないことがありまして...。 ・ご教示頂いたようにWindowsマシン→踏み台→サーバの一方向からしかアクセスできない場合踏み台側からローカルにアクセスできないか? ・scpコマンドを実行する場合下記の記述で合っているか? scp -r -p ローカルのipアドレス:C:\ディレクトリ 踏み台のパス すみませんがもし分かれば教えて頂きたいです。
hidezzz

2021/01/22 03:28

> ・ご教示頂いたようにWindowsマシン→踏み台→サーバの一方向からしかアクセスできない場合踏み台側からローカルにアクセスできないか? お使いのネットワーク設定次第です。繰り返しになってしまい申し訳ありませんが、 > ネットワーク管理者のかたにコンタクトをとって、どのような接続が可能な想定でネットワーク設定がされているのかを確認されるとよろしいかと思います。 …ということになります。 > ・scpコマンドを実行する場合下記の記述で合っているか? > scp -r -p ローカルのipアドレス:C:\ディレクトリ 踏み台のパス scpはコピー先を最後に書くルールになっているので、以下のような順番になると思います。 scp -r -p 踏み台のパス ローカルのipアドレス:C:\ディレクトリ ただし、ローカルはWindowsをお使いだと思うのですが、そのローカルのマシンにsshサーバが別途インストールされている必要があります。 Windowsは詳しくないのですがWSLを入れればLinuxと同様のopensshサーバがインストール出来るような気がします。 その場合コピー先の「ローカルのipアドレス:C:\ディレクトリ」のドライブ名「C:」のあたりは何らかの変換をしなければいけないような気がします。(インストールしたsshサーバソフトの仕様を確認する必要があるかと思います)
hiroki88

2021/01/22 04:46

別の質問になってしまったのにご回答頂きありがとうございます。 大変勉強になりました。 あいまいな質問になってしまったのにも関わらず分かりやすくご教示頂きましてありがとうございます。
hiroki88

2021/01/22 05:03 編集

つづけてになってしまい申し訳ありませんが別のことで分からないことがありお聞きしたいことがあります。 色々ご教示頂きまして理解がだいぶ深まったのですがrsyncコマンドも使用したいと思っておりその際に現在私の環境上Windowsマシン→踏み台→サーバの一方向しか接続ができないので踏み台にいる状態でサーバにrsyncで差分を取得したいと思っています。 実際にrsyncコマンドを下記のように実行したら次のエラーがでてしまいました。 rsync -achnv --delete - e 'ssh -i サーバの秘密鍵' サーバユーザ名@ホスト名:ディレクトリパス ディレクトリパス Warning: Identity file 秘密鍵のパス not accessible: No such file or directory. Permission denied (publickey,gssapi-keyex,gssapi-with-mic). rsync: connection unexpectedly closed (0 bytes received so far) [Receiver] rsync error: unexplained error (code 255) at io.c(605) [Receiver=3.0.9] ちなみに踏み台にいる状態でサーバにscpコマンド実行をすることは可能です。 ディレクトリパスもrsyncに使用しているものと同一です。 scp -r -p -i サーバの秘密鍵 サーバユーザ名@ホスト名:ディレクトリパス ディレクトリパス scpだと上手くいくのですがrsyncだとだめでした。 sudoを使用して実行してみましたが同じエラーがでました。 エラーの感じからすると秘密鍵の設定と権限回りがいけないのでしょうか?
hidezzz

2021/01/23 01:07

少なくとも、「~/.ssh/id_rsa」を「~/.ssh/id_rsa.tmp」にリネームした上でその秘密鍵を指定して試した限り、手元の環境ではscpもrsyncもコピーに成功しました。 そちらの環境がどうなっているかわからないのでこれ以上はなんとも言えません。 $ scp -p -i ~/.ssh/id_rsa.tmp h2a2:.profile /tmp/. Enter passphrase for key '/home/hidezzz/.ssh/id_rsa.tmp': .profile 100% 807 51.0KB/s 00:00 $ rsync -avH -e 'ssh -i ~/.ssh/id_rsa.tmp' h2a2:.profile /tmp/. Enter passphrase for key '/home/hidezzz/.ssh/id_rsa.tmp': receiving incremental file list .profile sent 43 bytes received 921 bytes 113.41 bytes/sec total size is 807 speedup is 0.84
hiroki88

2021/01/25 06:13

わざわざ実際に確認して頂きましてありがとうございます。 環境については詳しく知らないため、まず環境が問題ないか確認してからコマンドの方も確認したいと思います。 本当にありがとうございました。
guest

0

scp -r -p -i 踏み台の秘密鍵 転送元ディレクトリパス 踏み台ユーザ名@ホスト名:転送先ディレクトリパス -P ポート番号

これだと、転送元ディレクトリパス, 踏み台ユーザ名@ホスト名:転送先ディレクトリパス, -P の三つのファイル(ディレクトリ)をポート番号にコピーするという意味になります。
以下のように-Pによるポート指定を前に持ってきてください。

scp -r -p -i 踏み台の秘密鍵 -P ポート番号 転送元ディレクトリパス 踏み台ユーザ名@ホスト名:転送先ディレクトリパス

投稿2021/01/21 11:01

doda

総合スコア947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroki88

2021/01/21 12:02 編集

ご回答ありがとうございます。 そうだったんですね、オプションを指定する位置を間違えておりました。 修正して実行したところ下記のエラーが表示されました。 Warning: Identity file 秘密鍵 not accessible: No such file or directory. ssh: Could not resolve hostname ホスト名: Name or service not known lost connection 別の回答でファイヤーウォール等でブロックされているとのご指摘を頂きました。 scpコマンド自体はご指摘いただいた修正で解決しましたのでファイヤーウォール等を確認してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問