Arch LinuxのシステムにSSHを設定します。
SSHのインストール
SSHのパッケージをインストールします。
$ sudo pacman -S openssh
SSHの設定
設定ファイルを編集します。
$ sudo nano /etc/ssh/sshd_config
Port xxx (13行目 SSHのポートを任意で変える) PermitRootLogin no (32行目 rootログインを禁止)
SSHを再起動して設定を適用します。
$ sudo systemctl restart sshd
システム起動時に自動起動するように設定します。
$ sudo systemctl enable sshd
IPアドレスを確認します。
$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff inet 192.168.50.123/24 brd 192.168.50.255 scope global dynamic noprefixroute ens33 valid_lft 1076sec preferred_lft 851sec inet6 0000::0000:0000:0000:0000/64 scope link valid_lft forever preferred_lft foreverb
上記の例だとens33のinetの後にある192.168.50.123が割り当てられたIPアドレスです。
ここまでできたら、任意のSSHクライアントで確認したIPアドレスにアクセスしてみる。
SSH鍵認証の設定
SSHの鍵を生成し鍵認証ができるように設定します。
以下のコマンドで鍵を生成します。
$ ssh-keygen -t ed25519 Generating public/private ed25519 key pair. Enter file in which to save the key (/home/hoge/.ssh/id_ed25519): (保存先 変更なければそのままEnter)g Created directory '/home/hoge/.ssh'. Enter passphrase (empty for no passphrase): (パスワード設定/そのままEnterでパスワードなし) Enter same passphrase again: (パスワード再入力) Your identification has been saved in /home/hoge/.ssh/id_ed25519 Your public key has been saved in /home/hoge/.ssh/id_ed25519.pub
生成した公開鍵をリネームする。
$ mv ~/.ssh/id_ed25519.pub ~/.ssh/authorized_keys
公開鍵のパーミッションを変更する。
$ chmod 600 ~/.ssh/authorized_keys
この後、SFTPなどを用いて id_ed25519 ファイル(秘密鍵)をクライアントに持ってくる。
鍵を読み込ませるためにSSHを再起動する。
$ sudo systemctl restart sshd
ここまでできたら任意のSSHクライアントで鍵を使ったログインができるか確認する。
最後にパスワードを使ったログインができないように設定を変更する。
$ sudo nano /etc/ssh/sshd_config
PasswordAuthentication no (56行目 noに変更してパスワード認証不可にする)
SSHを再起動して設定を適用します。
$ sudo systemctl restart sshd
以上でSSH設定/SSH鍵認証設定完了です。
お疲れさまでした。