最新のパッケージに更新する
sudo apt update
sudo apt upgrade
テキストエディタをVimに変更する(オプション)
初期のエディタはnanoなので、nanoがいい人はやる必要がありません。
update-alternatives --config editor
選択肢が出て来ますので、3を入力すれば良いですね。
ロケール設定
まず現在のロケールを確認してみます。
localectl
次に使用できるロケールを見てみます。
localectl list-locales
2つしかありません。日本語にしたい方は日本語のロケールをインストールしましょう。
sudo apt install language-pack-ja -y
ロケールをインストールしたら、ロケールを日本語に変更します。
sudo localectl set-locale LANG=ja_JP.UTF-8
ホスト名を変更する
初期状態では、ランダム?な数字の並びのようなホスト名になっています。
ユーザー名@ホスト名 の表記ですので、ホスト名は「i-53100000579031」ですね。
これを「MyHostName」に変更します(MyHostName の部分はお好きなものに変更してください)
sudo hostnamectl set-hostname MyHostName
ただ、このコマンドを実行してもすぐには表示が変わりません。1度ログアウトしてログインする必要がありますのでご注意ください。
作業用のユーザーを作る
まずユーザーを作成します。
sudo adduser daisuke
New password: # ユーザーのパスワードを設定
Retype new password: # 確認再入力
Enter the new value, or press ENTER for the default
Full Name []: # フルネーム等の情報を設定 (不要であればブランクでも OK)
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]:y
新しいパスワード:
新しいパスワードを再入力してください:
passwd: パスワードは正しく更新されました
daisuke のユーザ情報を変更中
新しい値を入力してください。標準設定値を使うならリターンを押してください
フルネーム []:
部屋番号 []:
職場電話番号 []:
自宅電話番号 []:
その他 []:
以上で正しいですか? [Y/n]
info: Adding new user `daisuke' to supplemental / extra groups `users' ...
info: ユーザ `daisuke' をグループ `users' に追加しています...
次に、sudoが使えるようにsudoグループに追加します。
sudo usermode -aG sudo daisuke
作業用ユーザー専用のSSHペア鍵を作成します。
作業用ユーザーに切り替えて、ホームディレクトリに移動します。
su daisuke
cd
SSHペア鍵を生成します。
ssh-keygen -t ed25519 -N '' -C ssh_connect -f ~/.ssh/ssh_ed25519
~/.ssh/ ディレクトリに ssh_ed25519 (秘密鍵) と ssh_ed25519.pub (公開鍵) が作成されたか確認する。
cd ~/.ssh
ls
公開鍵を authorized_keys ファイルにコピーまたは追記しアクセス権限を設定する。
cd ~/.ssh/
cat ssh_ed25519.pub >> authorized_keys
chmod 600 authorized_keys
chmod 700 ~/.ssh
SSHペア鍵をダウンロードする
多くのTerminalに付属しているscpクライアント機能でダウンロードする、または秘密鍵は通常のテキストファイルですので、以下のコマンドで表示させクリップボードにコピーし、ローカルのテキストエディタに貼り付けて保存しても良いでしょう。
cat ~/.ssh/ssh_ed25519
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXX3NzaF9jb25uZWN0AQI=
-----END OPENSSH PRIVATE KEY-----
新しいユーザーと秘密鍵でログインしてみる。
ssh -i ssh_ed25519 daisuke@163.xxx.xx.206
きちんとログイン出来ればOKです。
SSHの設定変更
sudo vi /etc/ssh/sshd_config
KbdInteractiveAuthentication を no にする。
KbdInteractiveAuthentication no
PasswordAuthentication を no にする。
PasswordAuthentication no
PermitRootLogin を no にする。
PermitRootLogin no
PermitEmptyPasswords を no にする。
PermitEmptyPasswords no
ポート番号を変更する。ポート番号は任意の番号へ変更出来ますが、49513~65535までの数字で設定することをお勧めします。以下では、22番ポートから57822番ポートに変更しています。
#Port 22
Port 57822
変更し保存をおこなったら、設定ファイルに構文エラーがないか確認します。
sudo sshd -t
何も表示されなければ構文エラーはありませんので、SSHプロセスを再起動します。
sudo systemctl restart ssh
接続したまま、ターミナルをもう一つ起動し、接続ができるか確認します。
ssh -i ssh_ed25519 daisuke@163.xxx.xx.206 -P 57822
ファイヤーウォールの設定
とりあえず、SSHのポートを開けておきます。
sudo ufw allow 57822
次にファイヤーウォールを有効化します(デフォルトでは無効状態です)
sudo ufw enable
接続が切断されるかもしれないと聞かれますが、もう空けてあるので y で大丈夫です。
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
念のため最後にファイアウォールの再読み込みをしておきます。
sudo ufw reload
続く…