Ubuntu セキュリティ関連設定

パスワード認証のSSHの場合

SSH

ポートの変更

sudo vim /etc/ssh/sshd_config
Port
22 > 50022

再起動
service ssh restart

ここでSSHを秘密鍵・公開鍵に切り替える。
(秘密鍵・公開鍵を作成+TeraTermから接続)

ufw

最初は有効になっていない。

IPv6無効化
sudo vim /etc/default/ufw
IPV6=no

sshを許可
sudo ufw allow 50022/tcp

起動
sudo ufw enable
(enable後は、再起動してもufwは有効になっている)

再起動する場合
sudo ufw reload

SSH

ルートを弾く(必要なら)
sudo vim /etc/ssh/sshd_config
PermitRootLogin
yes > no

パスワード認証を停止
sudo vim /etc/ssh/sshd_config
PasswordAuthentication
ChallengeResponseAuthentication
GSSAPIAuthentication

3つともnoへ

接続ユーザを限定(必要なら)
sudo vim /etc/ssh/sshd_config
AllowUsers ubuntu
追加

再起動
service ssh restart

秘密鍵・公開鍵を作成+TeraTermから接続

秘密鍵・公開鍵作成1
ssh-keygen -t rsa

ファイル名を聞かれるのでidとする。
パスフレーズも聞かれる。ここではとりあえず付けない。

公開鍵(id.pub)、秘密鍵(id)が生成される。

秘密鍵・公開鍵作成2

TeraTerm>設定>SSH鍵生成
公開鍵(id_rsa.pub)、秘密鍵(id_rsa)を保存する。

公開鍵の内容は
.ssh/authorized_keys
に記載する必要がある。
(なければ作成。他に書き込みがある場合、新しい行でも大丈夫)

パーミッション確認
chmod 600 authorized_keys

秘密鍵はローカルに保存しTeraTermのフォルダへ入れる。
名前は変えてしまってOK

再起動
service ssh restart

TeraTermから接続
connect ‘192.168.xxx.xxx:50022 /ssh /2 /auth=publickey /user=xxx /keyfile=xxx’

WinSCPから接続

WinSCPはppk形式なので、OpenSSH→ppkが必要。
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
から
puttygen.exe
を保存し、実行する。

Conversions>Import keyで秘密鍵(id_rsa)を読み込み、Save private keyで保存する。

新しいサイトを作成する。
転送プロトコル:SFTP
ホスト名:IPアドレス
ポート番号:50022
ユーザー名:root
パスワード:空白

設定>SSH>認証>認証条件
の秘密鍵に、
*.ppkを指定する。

管理>名前をつけて保存
を実行。

鍵の種類

・ppk
PuTTY形式

・pem
OpenSSL形式
OpenSSH7.8未満
—–BEGIN RSA PRIVATE KEY—–

・OpenSSH形式
OpenSSH7.8以上
—–BEGIN OPENSSH PRIVATE KEY—–

・OpenSSH公開鍵
ssh-rsa