見出し画像

VirtualBox共有フォルダの代替

VBで共有フォルダを作ることをあきらめた。

WindowsのホストOS上に、VBでUbuntuを何度か入れました。はじめにやることはやっぱり共有ボックスをつくること。うまくいけばゲストOSのデスクトップにフォルダが表示されるはずですが、作れない。試した設定は、

  • ネットワークはブリッジアダプタ

  • 光学ドライブの挿入し直し、再起動

  • 自動マウント

  • アクセス権は完全

あるいはUbuntuのデフォルト共有フォルダ/media/sf_shareは作られても、そこに須藤さん(sudo)もアクセスできないし、アクセスできるユーザを追加してみたのもも、そのユーザでアクセスできない。

ということでここではファイルをやり取りするための代替方法を紹介します。

SSH接続を構築する

ゲストOSで必要なものをインストールします。
その前に、アップデートをお忘れなく。
Unable to locate …とか言われますので。

user@PC:$sudo apt update

ネットワーク情報を管理するnet-toolsをインストールします。非推奨だという情報もありますが、、、

user@PC:$sudo apt install net-tools

これでifconfigと打ち込むとIPアドレスを取得できます。
SSH経由もgufwを使いますので、両方インストールします。
gufwはUbuntuに標準で入っているファイアウォールufwのGUI版だと思ってもらえれば。

user@PC:$sudo apt install gufw
user@PC:$sudo apt open-sshserver

秘密鍵と公開鍵のペアを設定します。
暗号化のアルゴリズムにはいろいろあり、RSAとかECDSAとか、、、、気になる場合は調べてください。ここではえーいで全タイプ生成される-Aオプション(AllのA)使ってます。

user@PC:$sudo ssh-keygen -A

SSHのデーモンを起動します。デフォルトだと以下の場所にいます。

user@PC:$sudo /usr/sbin/sshd

データを取ってくるだけならノーティラス(Ubuntuのファイルシステム)の左下にあるOther Locationsを開くと、いちばん下にConnect to Severという欄が表示されここにアドレスを入れると上のNetworksのにフォルダが現れます。
ブリッジアダプタに設定していれば、ホストOS以外ともファイル共有できるので便利です。

Enter server address…

sftp://username@XXX.XXX.XX

のような形でユーザ名(username)とIPアドレス(Xの羅列)を@で挟んであげて接続するとゲストOSにデータを送れます。
sftpはSSHを使って安全にデータ転送できる方法です。

ただし、ゲストOSからデータ送れない(かもしれない)ので、以下のデータ転送アプリを合わせて使うと便利です。

データ転送アプリWinSCP

ここではWinSCPというデータ転送アプリを使ってホストOSからつないでみます。

同様にSSH経由でつなぐのでゲストOSで上記のインストールは必要です。またIPアドレスを取得しておきます。

user@PC:$ifconfig

この出力のinetの番号をメモしておきます。(127.0.0.1以外で)

WinSCPをインストールし、立ち上げたら以下のように接続先のホスト名、つまりゲストOSのIPなので上記のinet情報を入力し、同じくゲストOSのユーザ名、パスワードを入れると接続できます。

接続できると下のように左はローカル、右は接続先のフォルダが表示されます、ドラッグドロップでファイル転送・移動、フォルダ作成やテキストファイル編集など行うことができます。


この記事が気に入ったらサポートをしてみませんか?