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
====== 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できる