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

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

新規登録して質問してみよう
ただいま回答率
85.49%
SSH

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

Debian

Debianは、Debian GNU/Linux などのOS(オペレーティングシステム)です。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Q&A

解決済

7回答

19875閲覧

windowsとlinux間でのファイルのやりとりについて

dko5ki23t

総合スコア10

SSH

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

Debian

Debianは、Debian GNU/Linux などのOS(オペレーティングシステム)です。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

0グッド

1クリップ

投稿2015/04/26 08:01

編集2015/04/27 02:21

先日初めて仮想マシンをインストールしました。
VirtualBoxにDebianをいれました。
そして諸々の設定を完了させ、一通りちゃんと動くようにはなっています。

今、winSCPというソフトを使ってwindowsとlinux間でファイルの転送ができるようにしようと奮闘しているのですが、どうしても接続できません。
ちなみにSSHを使って接続しようとしています。

ネットでいろいろ調べて以下のことはしました。
1.linux側にsshをインストール
2./etc/network/interfacesを編集してIPアドレスを固定
3.virtualboxの設定でポートフォワーディング機能を使って22番ポートを使えるようにした(?)
4.windowsファイアウォールで詳細設定→受信の規則→新しい規則→ポートフォワーディングで設定したゲストポートを開放する

2で固定したIPアドレスで接続しようとするとタイムアウトになり、調べると、それはIPアドレスが見つからないときに起こるエラーだと知り(eth0のIPアドレスを固定しました)、
ifconfigコマンドで出力されたloと書いてあるローカル接続用(?)のIPアドレスを使って接続すると接続が拒否されました。

winSCPでは転送プロトコルはSFTP、ホスト名にIPアドレス、ユーザ名にrootでないアカウントを使って接続しようとしています。

使っているのはWindows7、VirtualBox4.3.26、WinSCP5.7.2です。
本当に行き詰ってしまって困っています。
長々とした文章で読みにくいかもしれませんが、回答のほどよろしくお願いしたします。

<追記>
/etc/network/interfacesの中身

file describes network interfaces available on your system

and how to activate them. For more information, see interfaces(5).

The loopback network interface

auto lo
iface lo inet loopback

The primary network interface

allow-hotplug eth0
iface eth0 inet static
address 192.168.0.123
netmask 255.255.255.0
gateway 192.168.0.1

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

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

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

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

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

guest

回答7

0

ベストアンサー

了解です。
VirtualBoxへのpingは通って外部のIPアドレスへのpingが通らないのは不可解ですが、VirtualBoxへのpingが通るのでしたら、WindowsからDebianにアクセスすることは可能です。

ポートフォワーディングの設定は済んでおられますか?ホストポートに任意の数値を(できれば49152〜65535の範囲で)、ゲストポートに22を設定すると完了です。

投稿2015/04/27 05:05

penguinshunya

総合スコア140

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

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

dko5ki23t

2015/04/27 05:47

65500という値でやってみたらすんなりと接続できました! 値が小さいと(49000台とか)接続できなかったりするんですかね...? ともかく、長い間お付き合いくださりありがとうございました!
guest

0

家庭内LANのデフォルトゲートウェイIPアドレス(つまりはルーターを指し示すIPアドレス)は192.168.0.1であっていますか?それとも192.168.0.5ですか?
Windowsのブラウザのアドレス入力欄にこの2つのIPアドレスを入力し、ルーターの設定画面が表示されるのはどちらかを教えてほしいです。

投稿2015/04/27 04:16

penguinshunya

総合スコア140

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

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

dko5ki23t

2015/04/27 04:26

回答ありがとうございます! 今外出中で、家のルータを経由してないせいか2つともでてこないです...
penguinshunya

2015/04/27 04:36

了解です。 Windowsを外出先で使用しているということで間違いないでしょうか? 外出先ではインターネットに接続できますか? 私が確認したいことは、ゲストOSが外部とやり取りできるかなので、IPアドレスは別に、Googleの216.58.220.238でもteratailの157.7.167.132でもなんでも構いません。8.8.8.8でも、8.8.4.4でもなんでもいいです。 とにかく、ゲストOSからどれかのIPアドレスにpingを飛ばし、応答があれば解決まであと一歩だと思います。
dko5ki23t

2015/04/27 04:45

Windowsを外出先で使用しています。 Windowsではネットに正常につなげています。 ゲストOSからpingを飛ばしてもまったく応答がない状態です。 (関係ないかもしれませんが)ifconfigコマンドでeth0もローカルもUPやRUNNINGがでているので起動はしてると思うのですが...
penguinshunya

2015/04/27 04:51

VirtualBoxへのpingは通りますか? IPアドレスは10.0.2.2です。 もし通らなければ、VirtualBoxのネットワーク設定で、【ケーブル接続】にチェックが入っているかどうかを確認してください。
dko5ki23t

2015/04/27 04:58

VirtualBoxへのpingは通ります!
guest

0

ネットワークアダプターのモードを「NAT」にすると、VirtualBoxは、一つのネットワークを生成します。
生成されるネットワークは、VirtualBoxと、ゲストOSとの間で情報をやり取りするためだけに存在する、小さなネットワークです。
このネットワークに、他のノードが参加することはできません。
(ノードというのは、ネットワーク内に存在する各機器のことです。ノードは一つのIPアドレスを持ちます。VirtualBoxの生成するネットワークには、VirtualBoxとゲストOSの、2つのノードが存在します)

ゲストOSは、VirtualBoxの生成した小さなネットワークにのみ参加できます。
他のネットワークに参加することはできません。
そして、インターネットはネットワークです。
つまりゲストOSは、インターネットにも参加できないことになります。

ゲストOSがどのようにしてインターネットに接続するかというと、VirtualBoxを介して行います。
ゲストOSと唯一、情報のやり取りができるVirtualBoxに、インターネットへの接続を依頼するわけです。

例えるなら、B君しか友達のいないA君と、クラス内の全員が友達のB君のようなものです。
A君はB君としか話せませんが、B君はクラス内の全員と話すことができます。
もしA君が、C君にどうしても伝えたいことがあるとき、まずB君に伝え、それからC君に伝えます。
B君が仲介してくれるわけです。

このように、仲介してくれる存在のことを、ネットワークでは「デフォルトゲートウェイ」といいます。

A君がゲストOS、B君がVirtualBoxですので、ゲストOSのデフォルトゲートウェイはVirtualBoxです。
したがって、ゲストOSで設定するデフォルトゲートウェイのIPアドレスは、VirtualBoxに割り振られたIPアドレスにします。

VirtualBoxで生成される小さなネットワークの、2つのノードに振られるIPアドレスは決まっています。
VirtualBoxには「10.0.2.2」が与えられ、ゲストOSには「10.0.2.15」が与えられます。
つまり、ゲストOSでの設定は、固定IPアドレスを「10.0.2.15」に、デフォルトゲートウェイを「10.0.2.2」にします。
サブネットマスクは255.255.255.0です。

つまり、/etc/network/interfacesの設定は次のようにします。

lang

1allow-hotplug eth0 2iface eth0 inet static 3 address 10.0.2.15 4 netmask 255.255.255.0 5 gateway 10.0.2.2

これらの設定は、VirtualBoxのDHCPプロトコルにより自動で設定されるので、次の2行に書き換えるのがより良い設定です。

lang

1allow-hotplug eth0 2iface eth0 inet dhcp

設定を反映させるために再起動し、ゲストOSから「192.168.0.1」にpingが通るか確認します。
これは、デフォルトゲートウェイを通して外部とやり取りできるかを確認する作業です。
もし通ったなら、残すはポートフォワーディングの設定のみとなります。

ホストポートに任意の数値を、ゲストポートに22を設定します。
そして、WinSCPでホスト名を「localhost」に、ポート番号を任意の数値に設定し、ユーザー名とパスワードを入力してログインします。
これで、ゲストOSにアクセスできると思います。

投稿2015/04/27 03:22

penguinshunya

総合スコア140

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

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

dko5ki23t

2015/04/27 04:09

わかりやすい回答ありがとうございます! やってみたのですが、pingコマンドで何も返ってこないです... ポートフォワーディング設定もきちんとしているはずなのですが...
guest

0

winSCPを使うことが目的ではなく、ファイルをやりとりすることが目的であるなら、Guest AdditionsをLinux側にインストールする方が手っ取り早いと思います。

投稿2015/04/26 12:58

編集2015/04/26 12:59
tohshima

総合スコア374

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

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

0

VirtualBoxのネットワーク設定で、【割り当て】が「NAT」になっていないでしょうか?
これを「ブリッジアダプター」に変更することで、WindowsとDebianが同一ネットワーク上に存在するようになり、互いにやり取りができるようになると思います。

手順は次のようになります。

  1. VirtualBoxのネットワーク設定で、【割り当て】を「ブリッジアダプター」に変更する。
  2. /etc/network/interfacesの、固定IPアドレスに関する設定を削除する。
  3. 設定を反映させるために、ネットワークを再起動する。

lang

1$ sudo /sbin/ifdown eth0 2$ sudo /sbin/ifup eth0
  1. DebianのIPアドレスを確認する。
  2. winSCPで、WindowsからDebianにアクセスする。

投稿2015/04/26 11:36

編集2015/04/26 11:46
penguinshunya

総合スコア140

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

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

dko5ki23t

2015/04/26 12:32

回答ありがとうございます! ブリッジアダプターの方法もネットを見ている中ででてきましたが、今回はポートフォワーディングを使ってやりたいと思ってまして... もちろんこの方法も試してみます! わがままですみません
penguinshunya

2015/04/26 13:15

了解です。 NATは、Windows宛のパケットをDebianに送る仕組みです。 ポートフォワーディング機能で、ゲストポートに22を、ホストポートに任意の値を設定されたかと思います。 winSCPの設定で、ホスト名に「localhost」を、ポート番号に、任意に設定したポート番号を入力したのち、ユーザー名とパスワードを入力してログインしてみてください。
penguinshunya

2015/04/26 14:28

勘違いしていました。すみません…。 Windows宛のパケットをDebianに送る仕組みは、NATではなくポートフォワーディングです。
guest

0

> windowsとlinux間でファイルの転送
ファイルを転送せずに フォルダの共有設定をすれば、
そのフォルダに置いたファイルは ホストOS(多分 windows), linux のどちらかでも
参照や編集が可能になります。

scp でのファイル転送にこだわらなえらば、共有設定してしまったほうが、簡単とおもいます。
(ホストOS からアクセスができれば、あとは 自由に他のマシンへの転送などもできるはず)

参考:

  • 検索結果

VirtualBox 共有フォルダー設定 http://pc-karuma.net/virtualbox-folder-share/

投稿2015/04/26 08:45

katoy

総合スコア22324

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

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

dko5ki23t

2015/04/26 12:27

回答ありがとうございます! 確かにその方法のほうが簡単にできそうですね! 早速試そうと思います! でも、WinSCPを使うやり方も意地で続けようかななんて思ってます
guest

0

2点ほど

・別の SSH クライアントを使ってシェルに接続できるか試しましたか?
(puttyなりPoderosaなりTeratermなり)

winSCPでは転送プロトコルはSFTP、ホスト名にIPアドレス、ユーザ名にrootでないアカウントを使って接続しようとしています。

・標準のSSHでのファイル転送はSFTPではなくSCPを使う必要があります。
SFTPでファイルを送りたい場合、SFTPサーバの設定が必要です。
SCP,SFTP,FTPSの違い

投稿2015/04/26 08:39

PruneMazui

総合スコア227

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

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

dko5ki23t

2015/04/26 10:14

回答ありがとうございます! Teratermでも同じようにエラーしか出ないのです... SFTPとSCPの違いはよく知らなかったので教えていただけてありがたいです! でもプロトコルはどれを選択しても(SFTP、SCP、FTP、WebDAV)接続できません...
PruneMazui

2015/04/26 10:26

ホストOSからゲストOSに対してpingは通りますか? 通らなければネットワークの問題で通ればSSHの問題と切り分けできると思います。 (なんとなく勘ですがSSHのサービスが立ち上がっていないだけな気がします)
dko5ki23t

2015/04/26 10:39

固定したアドレスに対しては通らなかったみたいです。 >192.168.0.2 に ping を送信しています 32 バイトのデータ: >192.168.0.5 からの応答: 宛先ホストに到達できません。 >192.168.0.5 からの応答: 宛先ホストに到達できません。 >192.168.0.5 からの応答: 宛先ホストに到達できません。 >192.168.0.5 からの応答: 宛先ホストに到達できません。 応答のIPアドレスが違っているのはどういうことなのかわからないのですが... ローカルのほうは応答があるみたいです。 >127.0.0.1 に ping を送信しています 32 バイトのデータ: >127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128 >127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128 >127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128 >127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
PruneMazui

2015/04/26 10:56

> 応答のIPアドレスが違っているのはどういうことなのかわからないのですが... これはルータからの応答なので別になっているのは正常です。 ゲストOS側は正しくネットワークに接続できているでしょうか? おそらく固定IPにするときに設定をミスしてる気がしますが、どのように設定したか不明なのでこれ以上はなんとも言えないですね・・・
dko5ki23t

2015/04/26 11:08

なるほど... アドバイスありがとうございました どこに原因があるのかもわからなかったので助かりました! もう少し自力でがんばってみます
PruneMazui

2015/04/26 16:47

他のコメント見ていて気がついたのですがNATにしているということでしょうか? NATの時ゲストOSのゲートウェイの指定をミスってるのが結構よくあります。
dko5ki23t

2015/04/27 02:24

NATにしてます。 ゲートウェイの指定が間違っているというのはどういうことでしょうか? 追記で固定IPアドレスにしたときのファイルの内容を載せてみたので教えていただけると幸いです。
PruneMazui

2015/04/27 02:57

実際のネットワークを見ないとどのように指定すればいいかは不明ですが、 ホストOSから見たネットワークアダプタのIPがゲートウェイのアドレスに なるわけではないというのではまった記憶があります。 http://www.nslabs.jp/linux-nat-on-vmware.rhtml http://manchan-pc.blogspot.jp/2012/09/virtualboxpcnw.html 一度DHCPに戻してrouteコマンドでゲートウェイのIP確認してみるとか・・・ あと少し気になったのですが下記より固定しているIPは192.168.0.2ではないのでしょうか? >192.168.0.2 に ping を送信しています 32 バイトのデータ:
dko5ki23t

2015/04/27 03:49

固定のIPアドレスはいろいろ変えて試してみたりもしてます DHCPに戻してrouteコマンドを試した結果下のようになりました カーネルIP経路テーブル 受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 default 10.0.2.2 0.0.0.0 UG 0 0 0 10.0.2.0 * 255.255.255.0 U 0 0 0 link-local * 255.255.0.0 U 1000 0 0 正直全然わからないです...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問