使わなくなったパソコンにSambaを入れて、ファイル共有用のサーバを構築してみた
先日、Sambaを入れたマシンですが、家から少し離れた場所にあるので、ふと操作したいなと思っても、マシンの場所に行かなければ操作できないといろいろと面倒だ。
脆弱性が報告された場合、関係ないといえど、修正バッチはすぐに対応しておきたいのが心情というものだし…
ということで、遠隔操作できるようにSSHを入れたので、今回はその時行った操作のメモを残す。
はじめに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/を指定したら、
(メーカによって異なります。)
このような画面が表示された。
(IDはroot、パスワードは空文字でログインできます。設定を変更するので、この機会にパスワードの設定はしておきましょう)
外部からの接続の設定はゲーム&アプリを開き、
この画面でポートの設定等を行う。
グループは適当な名前をつけ、
Internet側IPアドレスはエアステーションのInternet側IPアドレス
プロトコルはTCP/UDPにチェックをして、任意のTCPポートで推測されにくい番号を入れておく。
(仮に71823ポートにしておく)
LAN側IPアドレスはSambaサーバで指定したプライベートアドレス
LAN側ポートは22にしておく。
(外部ネットワークから71823ポートでアクセスした場合、プライベートネットワーク内で22に変換してSambaのサーバにアクセスします)
これで新規追加したら終了です。
無線LANをつないでいるルータのIPアドレスを調べる。
下記のサイトを開き、利用しているIPアドレスを開く。
(今回は仮に127.0.0.1だとします)
これで全ての設定は終了です。
PCを外部のネットワークに接続し、
ssh -p 71823 アカウント@127.0.0.1
パスワードを入力し、外部からログインできることを確認できれば設定は終了です。
とりあえず、外部ネットワークからSSHでログインし、Sambaで共有しているshareフォルダ内のファイルをダウンロードすることができるようになった。
しかし、これではセキュリティ面でまだまだ不安な面がある。
SSHではパスワード認証ではなく、鍵認証が推奨されているので、これから鍵認証の設定を行うが、この記事は長くなってきましたので次回にする。