nkmtの日記

日常のことをつらつら書きます

debianに外部からsshできるまでの設定

インフラ

2018年11月1日

はじめに

AWSのEC2などつかっているとある程度使うソフトというのはデフォルトで入っていたりします。
sshで使う鍵なんてAWSの管理画面でEC2を立ち上げる時に自動的に生成までしてくれます。
今回はこういうインスタンスを自分で立ち上げて基本の設定を行う話です。

レポジトリに追加

デフォルトのdebianだと実は何も入ってないことに気づきます。
とりあえずレポジトリに適当に追加します。
viですら入ってないので驚きます。

apt-get update
apt-get install software-properties-common
apt-get install ssh

vimやsudoあたりもここで入れておくとあとあと作業が楽かもしれません。

ユーザーの作成

sshで接続するためのuserを作成します。
上記で作成したuserをsudoに追加したりパスワード設定したり、
ホームディレクトリを作成したります。

useradd ssh_user
passwd ssh_user
adduser ssh_user sudo
mkdir /home/ssh_user

sshの設定

sshのセキュリティの設定対策を施します。
基本的にrootログインできないように設定し鍵認証でログインができるようにします。

ますはローカルで作った鍵の公開鍵を配置します。

chmod 700 /home/ssh_usr/.ssh
chmod 600 /home/ssh_user/.ssh/authorized_keys
sudo chown ssh_user:ssh_user authorized_keys

あとはsshのサービスに変更を行います。

vim /etc/ssh/sshd_config

Port 2202
ListenAddress 0.0.0.0
PermitRootLogin  no
RSAAuthentication   yes
PubkeyAuthentication   yes
AuthorizedKeysFile   /home/ssh_user/.ssh/authorized_keys
AllowUsers ssh_user

sudo /etc/init.d/ssh restart

上からportをデフォルトの22番から別のポートに変更しています。
本当はよくないですがどこからでもアクセスできるようにしています。
rootでのログインを禁止しています。
秘密鍵認証でのログインを許可し、鍵の置き場所を指定しています。
そしてsshできるユーザーを指定しました。