のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

SSHの鍵認証を使ったリモートログインの方法

Sponsored Links

皆さんこんにちは
お元気ですか。私は元気です。

さて、今日はsshについて
sshにて鍵を利用することでパスワードが不要なログインを可能とします。
まずは、鍵を生成します。

ssh-keygen -f sakura
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in sakura.
Your public key has been saved in sakura.pub.
The key's randomart image is:
+--[ RSA 2048]----+
| .oo=   .E       |
|  ** o o         |
| . +. B          |
|.. ..= +         |
|. . . o S        |
|     . +         |
|      o          |
|       o         |
|      .          |
+-----------------+

鍵が2種類できるはず。

-rw-------   1 Tereka  staff   1679  7 26 14:50 sakura
-rw-r--r--   1 Tereka  staff    424  7 26 14:50 sakura.pub

公開鍵と秘密鍵を生成しています。そのうち、相手に公開鍵を送ります。(.pub)
簡単に説明すると自分が秘密鍵を保持し、相手に公開鍵を送り、照合が取れればログインができるシステムですね。
公開鍵をたくさん贈ることで、複数のサーバーのログインを同じキーで可能とします。

scp ~/.ssh/sakura.pub tereka@11.111.111.11:~
tereka@11.111.111.11's password: 
sakura.pub

次にリモートログインを行います。

ssh tereka@11.111.111.11

ls -laで.sshディレクトリがあるかどうかを確認します。

ls -la
total 80
drwx------ 3 tereka tereka 4096 Jul 26 15:33 .
drwxr-xr-x 4 root   root   4096 Jul 26 15:15 ..
-rw------- 1 tereka tereka  131 Jul 26 15:33 .bash_history
-rw-r--r-- 1 tereka tereka  220 Jul 26 15:15 .bash_logout
-rw-r--r-- 1 tereka tereka 3637 Jul 26 15:15 .bashrc
drwx------ 2 tereka tereka 4096 Jul 26 15:31 .cache
lrwxrwxrwx 1 tereka tereka   32 Jul 26 15:15 .ecryptfs -> /home/.ecryptfs/tereka/.ecryptfs
lrwxrwxrwx 1 tereka tereka   31 Jul 26 15:15 .Private -> /home/.ecryptfs/tereka/.Private
-rw-r--r-- 1 tereka tereka  675 Jul 26 15:15 .profile
-rw-r--r-- 1 tereka tereka  424 Jul 26 15:33 sakura.pub

ディレクトリがない場合

mkdir .ssh
cat sakura.pub >> .ssh/authorized_keys
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

ディレクトリが存在する場合

cat sakura.pub >> .ssh/authorized_keys

.pubについては内容がほしいだけなので、内容のコピペでも十分可能です。

確認

ssh -i ~/.ssh/sakura tereka@11.111.111.11
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64)

 * Documentation:  https://help.ubuntu.com/
Last login: Sat Jul 26 18:08:05 2014 from 124x39x0x2.ap124.ftth.ucom.ne.jp

パスワードを入力する必要がなければ完了です。(パスフレーズは除く)