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
パスワードを入力する必要がなければ完了です。(パスフレーズは除く)