読者です 読者をやめる 読者になる 読者になる

hpのマイクロサーバにOSインストール

録畫サーバにする予定で先日購入して届いたhpのマイクロサーバDebianをインストールする。再度インストールする時とかに助かるので導入手順を残しておく。ハードディスクは標準で搭載されてゐる500GBのHDD以外に追加してないが今後録畫領域として追加する予定。インストール用USBメモリには最新のDebian安定版を入れ直した。ディスプレイは1臺しかないのでD-Sub15ピンでつなぎ表示を切り替へる(このディスプレイは子画面表示ができるので実際には子画面で表示しながら作業する)。キーボードは別途用意したものをサーバに接続して使用する。最小限の構成にするためGUI環境は導入しないのでマウスは不要。LANケーブルはあらかじめサーバに接続しておく。

インストール用メディア作成

インストール前の準備として、インストール用のイメージをDebianの公式サイトから最新の安定版のamd64のCD-1つてやつをダウンロード。1枚目だけあればインストールはできる。取得したISOイメージをUSBメモリに書き込むのにはUNetbootinを使用。しばらくたつて書き込みが終はると無事にDebianインストール用USBメモリの作成終了。

Debian 8.1.0のインストール

  1. USBメモリを挿入して起動
  2. UNetbootinのメニューからInstallを選択
  3. 使用言語で日本語を選択
  4. 場所で日本を選択
  5. キーボードで日本語を選択
  6. ホスト名を決める(ここでは以降ホスト名をnidfとする)
  7. ドメイン名は空のまま續ける
  8. rootのパスワードを設定
  9. 通常使用するアカウントを決める(ここでは以降アカウントをrokiとする)
  10. 通常使用するアカウントのパスワードを設定
  11. ディスクのパーティショニング設定で自動を選択
  12. パーティションの変更をディスクに書き込みインストール開始
  13. パッケージマネージャーの設定でネットワークミラーを使用するを選ぶ
  14. アーカイブミラーの國は日本
  15. アーカイブミラーは適当に。今回はftp.jp.debian.org
  16. プロキシは空
  17. Debianのパッケージ利用調査に参加しますかには取り敢へず「いいえ」を選択
  18. ソフトウェアの選択では今回最小構成インストールするため全部選択を外す
  19. マスターブートレコードGRUBブートローダをインストールで「はい」を選択
  20. GRUBブートローダをインストールするデバイスにHDDを選択
  21. インストールが完了したらUSBメモリを抜く
  22. 再起動後、Debianのログイン画面が表示されたのでインストール無事終了

SSHサーバを導入しリモート接続可能にする

  1. rootの使用を可能な限り避けるためにsudoコマンドを使へるやうにする。sudoが使へれば一般ユーザでもroot権限でコマンドを実行できるやうになる。一旦rootになるため下記を実行。ちなみにコマンドの先頭が $ の場合は一般ユーザで # の場合はrootで実行になつてゐる。
    $ su -
    
  2. 日本語が化けるのでロケールを英語に変更。
    # LANG=C
    
  3. デフォルトのエディタをnanoからvimに変更する。
    # update-alternatives --config editor
    
    /usr/bin/vim.tiny を選択
    
  4. /etc/apt/sources.listを編集する(これをやらないとアプリケーションをインストールする時にCD-ROMドライブを参照しようとしてインストールが失敗するため)。ついでに非公式パッケージもインストールできるやうに各エントリーの末尾に contrib non-free を追加する(強調部分)。念のためvimの操作方法を軽く書いておくと、iで編集モード、ESCを押せばコマンドモードに戻れる。ファイル保存方法はコマンドモードで:w。vimを終了するのは:q。:wqで保存して終了できる。
    # vi /etc/apt/sources.list
    
    deb cdrom:[Debian GNU/Linux 8.1.0 _Jessie_ - Official amd64 CD Binary-1 20150606-14:19]/ jessie main
    ↑の先頭に#を追加してコメントにする
    
    ↓以降の各行末尾に contrib non-free を追加
    deb http://ftp.jp.debian.org/debian/ jessie main contrib non-free
    deb-src http://ftp.jp.debian.org/debian/ jessie main contrib non-free
    
    deb http://security.debian.org/ jessie main contrib non-free
    deb-src http://security.debian.org/ jessie main contrib non-free
    
  5. 更新を適用。
    # apt-get update
    
  6. sudoをインストール。
    # apt-get install sudo
    
  7. インストール後、sudoの設定をするため下記コマンドを実行して設定をする。
    # visudo
    
    root   ALL=(ALL:ALL) ALL
    roki   ALL=(ALL:ALL) ALL
    ↑ rootの下に自分のユーザ名(roki)でrootと同じ設定を追加
    
  8. これでrokiでroot権限コマンド実行が可能になつたのでexitしてrokiに戻る。今度はリモートから操作できるやうにsshサーバをインストールする。sudoコマンド実行後にパスワードをきかれるのがここで入力するのはrootではなくログインしてゐるユーザ(roki)のパスワード。
    $ sudo apt-get install openssh-server
    
  9. WindowsのPCからTeraTermで接続できることを確認。サーバのIPアドレスはifconfigコマンドで調べることができる。ssh接続すると日本語が表示できるやうになつてゐる。
    $ sudo ifconfig 
    
  10. このままだとセキュリティ的によくないのでsshサーバの設定を変更する。PermitRootLogin の値のデフォルトがwithout-passwordに変更されてたのでなにそれと調べたらroot のみパスワード認証を拒否することができるといふ設定らしい。今回はrootでリモート接続する予定はないのでnoに設定。
    $ sudo vi /etc/ssh/sshd_config
    
    PermitRootLogin without-password
    ↑ without-password を no に変更
    
    #PasswordAuthentication no
    ↑ 先頭の # を外して no を yes に変更
    
    最終行あたりに下記追加
    DenyUsers ALL
    AllowUsers roki
    
  11. sshサーバの設定変更を有効にする。
    $ sudo /etc/init.d/ssh restart
    
  12. これでサーバで直接作業する必要はなくなつたので以後の作業は特別な事情がない限りリモートで行なふ。認証方式は後で鍵認証にするが一旦ここまで。シャットダウンは下記コマンドで実行。
    $ sudo shutdwon -h now
    

SSH接続を鍵認証に変更

今回はきちんと鍵認証での接続を設定する。作業前に予め公開鍵ファイル、秘密鍵ファイルを作成する。今回はクライアントPC側のTeraTeamで作成したものを使用する。

  1. サーバ側の認証鍵ファイルを指定する。
    $ sudo vi /etc/ssh/sshd_config
    
    RSAAuthentication yes
    PubkeyAuthentication yes
    #AuthorizedKeyFile    %h/.ssh/authorized_keys
    ↑先頭の # を外してコメント解除
    
  2. 内部のプライベートネットワークからの接続のみを許可する。
    $ sudo vi /etc/hosts.allow
    
    ALL: 127.0.0.1
    sshd: 192.168.1.
    ↑を追加
    
    
    $ sudo vi /etc/hosts.deny
    
    sshd: ALL
    ↑を追加
    
  3. サーバの設定変更を有効にする。
    $ sudo /etc/init.d/ssh restart
    
  4. TeraTermの画面に公開鍵ファイルをドロップするとファイルをサーバに送信できるのでそれを利用してファイルを送信。ドロップした後に出てくるダイアログで[Send file]ではなく[SCP]を選ぶこと。
  5. ファイル送信したら送信されたことを確認する。
    $ ls -l
    
    -rw-r--r-- 1 roki roki 394  8月  9 21:36 id_rsa.pub
    
  6. .sshディレクトリを作成し、パーミッションを700に変更。
    $ mkdir ~/.ssh
    $ chmod 700 ~/.ssh/
    
  7. 公開鍵ファイルを移動してリネーム。
    $ mv id_rsa.pub ~/.ssh/authorized_keys
    
  8. ファイルが移動されたことを確認。
    $ ls -l ~/.ssh/
    
    -rw-r--r-- 1 roki roki 394  8月 9 21:36 authorized_keys
    
  9. リモート接続するPC側のTeraTermで[Setup]-[SSH Authentication]を選択し、[Use RSA/DSA/ECDSA/ED25519 key to log in]に秘密鍵のパスを設定。
  10. TeraTeamで[Setup]-[Save setup]を選択して設定を保存。
  11. TeraTermで[File]-[New Connection]で対象サーバを選択、ユーザ名を入力して接続し(鍵ファイル作成時にパスフレーズを設定してゐたらパスフレーズを入力する必要がある)、鍵認証で接続可能なことを確認する。
  12. 鍵認証での接続を確認できたらパスワード接続を不可能にするのでサーバ側で設定を変更する。
    $ sudo vi /etc/ssh/sshd_config
    
    PasswordAuthentication yes
    ↑ yes を no に変更
    
  13. sshサーバの設定変更を有効にする。
    $ sudo /etc/init.d/ssh restart
    
  14. exitするなり新しい接続でパスワード認証での接続ができなくなつてゐることを確認する。

vimをインストール

tinyではない通常のvimをインストールすることにした。

  1. 下記コマンドでvimをインストール。
    $ sudo apt-get install vim
    
  2. 標準のエディタをvimに変更。
    $ sudo update-alternatives --config editor
    
    選択肢   パス                 優先度    状態
    ------------------------------------------------
     0      /bin/nano             40    自動モード
     1      /bin/nano             40    手動モード
     2      /usr/bin/vim.basic    30    手動モード
    *3      /usr/bin/vim.tiny     10    手動モード
    現在の選択[*]を保持するにはEnter、さもなければ選択肢の番号のキーを押してください:
    ↑の場合は2を入力してEnter
    

PT3や録畫用HDDなんかはまだ準備出来てないし疲れたので今回はここまで。