Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/hep_web/hep_web/member/n-kota/dokuwiki/inc/init.php on line 542
ja:network:sshkey [GiriWiki]

ユーザ用ツール

サイト用ツール


ja:network:sshkey

sshの鍵認証設定


自分のPC(クライアント)から他のPC(サーバー,namae@hostname)に対して

  • パスワード入力無しでssh login
  • パスワード入力無しでscpでファイル転送
  • パスワード入力無しでsshでcommand送信

などしたいとする。

手順0

はじめに、双方で~/.ssh/ を作成、permissionを700にしておく。


手順1

クライアント側で鍵を作る。

クライアント側のPCでssh-keygenを実行

$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa): <-鍵のファイルの名前を聞かれるので入力
Enter passphrase (empty for no passphrase):           <-パスフレーズを聞かれる(空のままEnter)
Enter same passphrase again:                   <-パスフレーズ再入力(空のままEnter)
Your identification has been saved in /home/hoge/.ssh/id_rsa. <- 秘密鍵を作成
Your public key has been saved in /home/hoge/.ssh/id_rsa.pub. <-公開鍵を作成
The key fingerprint is:
.....

これで、秘密鍵/home/hoge/.ssh/id_rsa と公開鍵/home/hoge/.ssh/id_rsa.pub が作成される。
公開鍵の方をサーバーに渡す。

$ scp /home/hoge/.ssh/id_rsa.pub namae@hostname:~/.ssh/

手順2

サーバー側で設定を行う。

$ ssh namae@hostname # login

### 以下サーバー側

$ cd ~/.ssh/
$ cat id_rsa.pub >> authorized_keys # 公開鍵情報をauthorized_keysにmerge
$ rm id_rsa.pub            # もういらないので削除

✳︎ authorized_keysのpermissionは600にしておく  chmod 600 ~/.ssh/authorized_keys

また、/etc/ssh/sshd_config を編集。
以下についてコメントアウトを解除して、activate

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile     .ssh/authorized_keys

手順3

クライアント側に戻って設定。
クライアント側の~/.ssh/config に以下のように記述

HOST hoge                  
     HostName hostname     
     User namae             
     IdentityFile ~/.ssh/hoge_rsa  # 秘密鍵のファイルを指定

こうしておけば $ ssh hoge でパスワード認証無しでloginできる。

✳︎この設定がなくとも $ ssh -i ~/.ssh/id_rsa namae@hostname でloginできる

ja/network/sshkey.txt · 最終更新: 2015/06/14 02:49 by kota