前置き
最近,Ubuntuが重くなってきました.これを機にWSL2のUbuntuに移行しようかなと思ったのですが,SSHでリモートアクセスするようなワークステーションの場合まだいいかなと思うこの頃です.
ということで,Ubuntuをクリーンインストールする際のこれだけやっておけばひとまず大丈夫かなリストをメモっておきます.
実行環境
- OS: Ubuntu 18.04 LTS
- GPU: RTX 2070
手順
- update & upgrade
- SSHの設定
- ファイアウォールの設定
- pyenvのインストール
- CUDA ToolKit & Nvidia Driverのインストール
- dockerのインストール
1. update & upgrade
おなじみですね.終わったら再起動してください.
sudo apt update
sudo apt upgrade -y
2. SSHの設定
手順1. OpenSSHを使うことにします.次のコマンドでインストールしてください.
sudo apt install openssh-server
ssh -V
手順2. 公開鍵暗号方式を使うので鍵の生成をしておきます.パスフレーズを聞かれますが何も入力しなくても生成できますのでお好みでどうぞ.このコマンドの結果,/home/USER/.ssh に,秘密鍵「id_rsa」と公開鍵「id_rsa.pub」が生成されます.
ssh-keygen -t rsa
手順3. クライアントマシンからサーバマシンであるUbuntuにSSHで接続するので,クライアントマシンに秘密鍵を,Ubuntuに公開鍵を置きます.Ubuntuの場合,デフォルトの設定ではauthorized_keysというファイルに公開鍵をまとめておくようです.
mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
chmod 600 authorized_keys # 所有者にだけ読み書きを許可
手順4. SSHの設定ファイルを変更します.
Port 4649 # 接続ポートの設定
PermitRootLogin no # rootログインを禁止
PasswordAuthentication no # パスワードログイン禁止
PermitEmptyPasswords no # パスワード無しのログインを禁止
手順5. SSHを有効にします.
sudo systemctl start sshd
手順6. クライアントマシンからUbuntuにSSH接続できるか確認
ssh -p 4649 {$USER}@{ipアドレス} -i {秘密鍵ファイル:id_rsa}
3. ファイアウォールの設定
手順1. ufwをインストールします.
sudo apt install ufw
手順2. ufwでファイアウォールを設定します.このとき,SSHで接続するためのポートを開放しておきましう.
sudo ufw logging on # ログ取得を有効化
sudo ufw allow 80 # HTTP通信に使用するポート
sudo ufw allow 443 # HTTPS通信に使用するポート
sudo ufw allow 4649 # SSH接続に使用するポート
sudo ufw default deny # 許可したポート以外の通信を遮断
手順3. 最後にファイアウォールを有効にします.
sudo ufw enable
sudo systemctl start ufw
4. pyenvのインストール
次の手順を参考にして,実行してください.
5. CUDA ToolKit & Nvidia Driverのインストール
手順1. NVIDIA Driverとの衝突をさけるため,nouveauを無効化しておきます.まずは次の手順でインストールされているかを確認.
lsmod | grep -i nouveau
手順3. 表示されたらnouveauがインストールされているので,無効化してください.
sudo vi /etc/modprobe.d/blacklist-nouveau.conf
次の内容を書き込んでください.
##### nouveau
blacklist nouveau
options nouveau modeset=0
次のコマンドを実行し,再起動してください.
sudo update-initramfs -u
手順4. 公式リポジトリから対象のCUDA Toolkitをダウンロードします.おすすめは手順が少ないrunファイルです.公式サイトにある通り,実行してください.
6. dockerのインストール
手順1. aptコマンドでインストールすれば,完了です.
sudo apt install docker.io -y
sudo apt install docker-compose -y
手順2. sudoコマンドを利用しなくても,dockerコマンドが実行できるようにします.次のコマンドを実行した後ログアウトし,再度ログインしてください.
sudo groupadd docker # dockerグループの作成
sudo gpasswd -a $USER docker # 現行ユーザをdockerグループに所
sudo systemctl restart docker # dockerデーモンを再起動
手順3. hello worldをやってみます.
docker pull hello-world # docker imageのダウンロード
docker run hello-world
おわりに
これだけやっておけば,ひとまず安心して運用できるかと思います.参考にさせていただいたみなさま,ありがとうございました.
- SSHの設定
- ファイアウォールの設定
- CUDA ToolKit & Nvidia Driverのインストール
- dockerのインストール
- そのほか