Linux に SSL 接続した
ときのメモ。
server: LInux Mint 20
install openssh-server
server にインストールする。
$ sudo apt install openssh-server
OpenSSHが起動しているかを確認する。
$ sudo systemctl status sshd
ここでActive: active (running)
となっていれば起動している。起動していなければ起動する。
$ systemctl start sshd
server の firewall を確認
LInux Mint 20 にはあらかじめ ufw が入っていた。なければインストールする。
$ sudo apt install ufw
IPv6 を切る。
$ sudo vi /etc/default/ufw IPV6=no
明示的に許可したポート以外を閉じる。
$ sudo ufw default deny
SSH のデフォルトポートを開ける。
$ sudo ufw allow 22
firewall を有効にする。
$ sudo ufw enable # 確認 $ sudo ufw status Status: active To Action From -- ------ ---- 22 ALLOW Anywhere
接続の確認をする。host は server の IP adress にすればよい。IP は ifconfig
で確認できる。
ssh [user@host] -p 22
SSH の設定をする
/etc/ssh/sshd_config
を変更する。
$ sudo vim /etc/ssh/sshd_config
# Port を追加する。接続が確認できたら 22 は消す。 Port 22 Port 222 # root へのログインを拒否 PermitRootLogin no # パスワード認証を拒否 PasswordAuthentication no # 空のパスワードを拒否 PermitEmptyPasswords no # Log の内容を増やす LogLevel VERBOSE # 踏み台としての利用を拒否 AllowAgentForwarding no AllowTcpForwarding no GatewayPorts no PermitTunnel no
設定を反映する。
sudo service sshd restart
firewall のポートを変更する
sshd_config
に追加したポートを許可する。
sudo ufw allow 222 # 有効化 sudo ufw enable # 確認 sudo ufw status Status: active To Action From -- ------ ---- 22 ALLOW Anywhere 222 ALLOW Anywhere
公開鍵認証のキーペアを作る
client の~/.ssh
に鍵を作る。
$ mkdir ~/.ssh $ cd ~/.ssh $ ssh-keygen -t ed25519 -C "mb" mac.pem
-C
はコメント。パスフレーズの作成を要求されるので適当に作る。
秘密鍵 mb.pem
は権限を絞る。Mac なら次のようにする。
$ chmod 600 mac.pem
Windows なら 「右クリック>プロパティ>セキュリティ」から所有者と権限を減らす。あるいはicacls
コマンドでよしなにする。userの読み取りのみにまでする必要があるかは不明。
client に公開鍵を登録する
公開鍵mac.pem.pub
の内容を server の ~/.ssh/authorized_keys
に追記する。USB、$ ssh-copy-id
、$ scp
を用いるなどの方法があるらしい(cf. )。
$ cat mb.pem.pub >> ~/.ssh/authorized_keys
接続を確認
$ ssh -i [private-key] [user@host] -p 222 # root 接続ができないことを確認 $ ssh -i [private-key] [root@host] -p 222 # `/etc/ssh/sshd_config`の`22`ポートを削除して接続できないことを確認 $ ssh -i [private-key] [user@host] -p 22
alias を設定する
未完成