SSHで外部のネットワークからログインできるようにするで外部のネットワークからログインできる様にした。
外部からのログインを可能にするのは結構緊張する。
できる限りアクセスできる穴みたいなものを封じておきたい。
ポート番号を推測しにくいものにして、ファイヤウォールの設定もしたけど、総当り攻撃をされたらいつかはログインされてしまう。
更には、sshでログインする際に入力するパスワードは暗号化されず平文みたいなので、IPアドレスとアカウント情報が盗聴されるという危険性もある。
というわけで、ログインをする際はIDとパスワードによる認証ではなく、鍵認証形式にしてみた。
その時の設定をメモとして残す。
ちなみに操作しているパソコンはLinux Ubuntuです。
ちなみに、前回の記事でrootによるログインは禁止しています。
はじめにログイン許可するアカウントを作成する。
(今回作成するアカウントは仮でhogeにする)
端末からSSHでサーバにログインして、
#新規アカウントを作成 adduser hoge #画面の指示に従い、諸々の設定を行う #sudor設定を行う sudo visudo
sudor設定は、rootの設定を真似て、rootの下に追加します。
(詳細は省略)
新しいアカウントを追加したので、
このアカウントのみ、鍵認証でログインさせる様にします。
(他のアカウントは諸々の事情があってログインを禁止します)
#ログアウト exit #鍵認証 ssh-keygen -t rsa #下記が表示されたらエンター Generating public/private rsa key pair. Enter file in which to save the key (/home/saito/.ssh/id_rsa): #バズフレーズは適当に決める(あとで使います) Enter passphrase (empty for no passphrase): #鍵認証 (ポートとIPアドレスは前記事の例を元に記載しています) cd ~/.ssh scp -P 71823 id_rsa.pub hoge@127.0.0.1:/home/hoge/id_rsa.pub #sshでサーバにログイン ssh -p 71823 hoge@127.0.0.1 mkdir .ssh mv id_rsa.pub ~/.ssh cd ~/.ssh #ファイル名の変更 mv id_rsa.pub authorized_keys sudo chmod 600 authorized_keys exit #再度ログインしてみる。バズフレーズを入力してログインできれば設定終了 ssh -p 71823 -i /home/hoge/.ssh/id_rsa hoge@127.0.0.1
これで鍵認証の設定は終了です。
※Windowsでは、id_rsaをPuTTYgenというアプリを利用
最後にパスワード認証によるログインを禁止して、パスワードの漏洩と総当り攻撃の回避の設定を行います。
確認のログインの状態のまま下記のコードを実行します。
#パスワードによるログインを封じる sudo emacs /etc/ssh/sshd_config
sshd_configを開いたら、
#コメントアウトされている場合、コメントアウトを外し、yesをnoにする PasswordAuthentication no
ファイルを保存して、
#設定ファイルの記述チェック 何も表示されなければOK sudo sshd -t #sshの設定を反映 sudo service ssh restart
サーバからログアウトして、
鍵認証していないアカウントではログイン拒否になり、
hogeさんではログインできることを確認します。
これで一安心です。
しかし、肝心の無線LANが暗号化されていなければ元も子もないので、LANの回線が認証キーなしで使用できていないかは十分確認しておく必要がある。