使わなくなったパソコンにSambaを入れて、ファイル共有用のサーバを構築してみた


先日、Sambaを入れたマシンですが、家から少し離れた場所にあるので、ふと操作したいなと思っても、マシンの場所に行かなければ操作できないといろいろと面倒だ。

脆弱性が報告された場合、関係ないといえど、修正バッチはすぐに対応しておきたいのが心情というものだし…


ということで、遠隔操作できるようにSSHを入れたので、今回はその時行った操作のメモを残す。

Secure Shell - Wikipedia




はじめにSambaの入っているPCの端末を開き、下記のコードを実行する


sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ssh

#プライベートネットワークの設定を編集する
sudo emacs /etc/network/interfaces

ファイルを開いたら、下記の内容を末尾に追加する


address 192.168.X.X(好きな数字)
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.Y.Y

addressは好きな数字を指定します。

今回は192.168.11.8にしました。

(以後もプライベートアドレスを192.168.11.8で話を進めます)


gatewayはご利用中のルータを確認します。


#設定の確認 inetアドレスを見る
ifconfig

各値に間違いがなければ、ネームサーバの設定を行う。

プライベートアドレスのサーバを指定する。


sudo emacs /etc/resolv.conf

#naneserverを下記に変更(gatewayで指定したアドレス)
nameserver 192.168.Y.Y

sudo /etc/init.d/networking restart

プライベートネットワーク内の他のマシンからSambaのサーバにログインできるか確認する。

(ログインの確認前にSambaのサーバのファイヤウォールで22ポートを許可しておく必要があります)


ssh アカウント@192.168.11.8



続いて、外部のネットワークからSSHでログインできるようにする。

まずは簡単なセキュリティ設定として、rootでのログインを拒否しておく。

(新しいアカウントの作成方法は省略します)


#sshdの設定ファイルのバックアップ
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.old

#sshdの設定ファイルを開く
sudo emacs /etc/ssh/sshd_config

#rootのログインを禁止
#(他のサーバではroot以外のアカウントがいないので、必ずアカウントを作成して、そのアカウントにsudorを設定してから行ってください)
PermitRootLogin withoout-password → PermitRootLogin no

#設定ファイルの保存

#設定ファイルの記述チェック 何も表示されなければOK
sudo sshd -t

#sshの設定を反映
sudo service ssh restart



外部からアクセスできるように無線LANの設定を行う。


無線LANの設定は、

ブラウザを開き、http://192.168.11.1/を指定したら、

(メーカによって異なります。)


buf_con_pane_top2


このような画面が表示された。

(IDはroot、パスワードは空文字でログインできます。設定を変更するので、この機会にパスワードの設定はしておきましょう)


外部からの接続の設定はゲーム&アプリを開き、


buf_con_pane_game


この画面でポートの設定等を行う。

グループは適当な名前をつけ、

Internet側IPアドレスはエアステーションのInternet側IPアドレス

プロトコルはTCP/UDPにチェックをして、任意のTCPポートで推測されにくい番号を入れておく。

(仮に71823ポートにしておく)


LAN側IPアドレスはSambaサーバで指定したプライベートアドレス

LAN側ポートは22にしておく。

(外部ネットワークから71823ポートでアクセスした場合、プライベートネットワーク内で22に変換してSambaのサーバにアクセスします)


これで新規追加したら終了です。


無線LANをつないでいるルータのIPアドレスを調べる。

下記のサイトを開き、利用しているIPアドレスを開く。

アクセス情報【使用中のIPアドレス確認】

(今回は仮に127.0.0.1だとします)


これで全ての設定は終了です。

PCを外部のネットワークに接続し、


ssh -p 71823 アカウント@127.0.0.1

パスワードを入力し、外部からログインできることを確認できれば設定は終了です。


とりあえず、外部ネットワークからSSHでログインし、Sambaで共有しているshareフォルダ内のファイルをダウンロードすることができるようになった。


しかし、これではセキュリティ面でまだまだ不安な面がある。

SSHではパスワード認証ではなく、鍵認証が推奨されているので、これから鍵認証の設定を行うが、この記事は長くなってきましたので次回にする。