linuxサーバにsshでログインするまで

さすがに何度もやって覚えたけれど備忘録として残します。

クライアント側で鍵を作成

まずはクライアント側で鍵をつくります。
鍵の作成は手持ちの環境によってかなり変わってくると思うので詳しくは書きません。
Windowsならputtyなど使っていただければと思います。
MacLinuxの方はターミナルでssh-keygenしていただければおkです。

公開鍵をサーバへ

まず、サーバにログインしたらホームディレクトリに.sshディレクトリを作ります。
そしてパーミッションの変更。
先ほど作った公開鍵を.sshディレクトリにid_rsa.pubファイルにコピペなりして保存しておく。
.sshディレクトリ内にauthorized_keysファイルを作成しその中にid_rsa.pubの中身を書き込む。
以下、一連の流れ。

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ cd ~/.ssh
$ cat id_rsa.pub > authorized_keys
$ chmod 600 authorized_keys

sshd_config の設定

基本的にrootログインとか、パスワードログインはできないほうがいいので、その辺りを設定します。
あと、sshログインできるユーザを限定しておきます。 sshd_configの一部だけ抜粋しています。

$ vim /etc/ssh/sshd_config

# rootログイン禁止
PermitRootLogin no

# パスワードログイン禁止(鍵使う)
PasswordAuthentication no

# ユーザhogeのみ接続許可をする(不特定多数に接続させない為)
AllowUsers hoge

sshd_configの設定が終わったらsshdを再起動します。

$ service sshd restart

このsshd_configですが編集するときは注意してください。
上記の設定だと、パスワードログインを禁止しています。もしsshの鍵が間違っていたりでうまく認証できなかったりするとパスワードでもログインできなくなってしまいサーバが要塞化していましますw

今回はほぼ自分への軽い備忘録なのでこのあたりで(*'▽')