📚

VPSにubuntu20.04インストールとssh接続

2021/06/29に公開

手順

  1. vpsが用意してくれているOSインストール
  2. teratermでログイン
  3. Ubuntuのパッケージ更新
  4. Ubuntuで新ユーザー作成
  5. Ubuntuで初期ユーザー情報を変更
  6. teratermでssh鍵生成
  7. 公開鍵をUbuntuにup
  8. teratermでsshログイン

VPSでosインストール

各vpsで準備していることが多いので、それに従ってインストールする。

Ubuntu20.04をそのまま使用する。

細かい部分は各vpsの手順ページなどに記載があるので、いじらないといけない場合はそれを参照する

teratermでログイン

最初の接続はteratermで行う。

ホスト名などは各vpsでつけられているipアドレスなどなど。

デフォルトのssh接続はだいたいポート22。

ユーザー名・パスワードなどはosインストールの際に決めているはずなので、それを使用。

Ubuntuのパッケージ更新

ログインできたらUbuntuを更新する。

//Ubuntu の最新のパッケージ情報を再取得
$ sudo apt update

//パッケージを最新に更新、不要なパッケージの削除、カーネルの更新
$ sudo apt dist-upgrade

インストールされるバージョンにもよるが、更新されるまで意外と時間がかかる。

新ユーザー作成

//新規のユーザーを追加
$ sudo adduser ユーザー名

//実行すると、Full Nameなどの追加設定が出るが、何も入力せずにEnterで設定せずに次に行ける。最後にy Enterで完成
Is the information correct? [Y/n] (Yを入力してEnter)
//新ユーザーにsudo権限をつける
$ sudo gpasswd -a ユーザー名 sudo

各ユーザーでrootになりたい場合はsudo su – とする。logoutで元のユーザーに戻れる。

初期ユーザーの情報を変更する

vpsでのosインストールをすると、初期ユーザーの名前が汎用的だったりする。それが少し気持ち悪いので、名前を変えておく。

//usermod -l ログイン名を変える
$ sudo usermod -l 新名 旧名

//usermod -d ユーザーのホームディレクトリを変更する
//usermod -m 現ホームディレクトリの内容を新たな場所に移動する
$ sudo usermod -d /home/新名 -m 新名

//groupmod -n グループ名を変える
$ sudo groupmod -n 新名 旧名

id ユーザー名でユーザー情報が確認できる。

そのままディレクトリ名を変えてしまうのもあり。

$ sudo mv 旧名 新名

teratermでssh鍵生成

teraterm ⇒ メニュー ⇒ 設定 ⇒ ssh鍵生成 から作成する。

RSA、ビット数「4096」で作成。

パスフレーズを入力して保存する。

id_rsa.pubという拡張子がついているほうが公開鍵でサーバーに上げる。

id_rsa.pubをサーバーに上げる

teratermでログインしている場所にファイルをドラッグアンドドロップするとファイルをアップロードできる。

その時にいるディレクトリ(だいたいログインするとユーザーのhomeにいる/home/ユーザー名)にアップされる。

lsと打つとファイルがアップされたか確認できる。

$ pwd
/home/ユーザー名
$ ls
id_rsa.pub

id_rsa.pubを使える形にする。.sshフォルダを作り、id_rsa.pubをauthorized_keysという名前に変更して.sshに移動する。

$ mkdir .ssh
$ chmod 700 .ssh
$ mv id_rsa.pub .ssh/authorized_keys
$ cd .ssh
$ chmod 600 authorized_keys

teratermでssh鍵ログイン

teratermを起ち上げ、新しい接続からSSH認証で鍵使用でログインする。

ユーザー名と、パスフレーズを指定した場合は、パスフレーズを入力する。

クライアント(自分のPC)側の秘密鍵のフォルダを指定する。

注意点とこの後にやること

  • 最初にログインしたユーザーは名前を変えてもそのまま残っている。パスワードでログインできる状態だと、このユーザーでも最初のパスワードでログインできる。
  • sshd_configの設定
    • sshポートを22から別のものに変える
    • パスワードでログインできないようにする(チャレンジレスポンス認証も切る)
    • パスワード設定なしのアカウントをはじく
    • rootでのログインを禁止する
  • vscodeでリモート接続する

Discussion