RSS|archives|admin

スポンサーサイト

--.--.-- --
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


Category:スポンサー広告 | Comment(-) | Trackback(-) | top↑ |

SSHをパスワードなしでアクセスする - 公開鍵認証

2011.02.19 Sat
SSHの設定 - 公開鍵認証

公開鍵認証を使い、SSHをパスワードなしでアクセスする方法。
設定を行うとパスワード入力を省略できる他、
バッチ処理、例えばSSHを経由してのrsyncやsshfsなどを運用する場合にも必要です。

まず、クライアント(アクセスする側)で、
パスフレーズなしの公開鍵を下記の要領で作成します。
「Enter passphrase」と聞かれたら未入力のまま[Enter]を押す。
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/v/home/foo/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /v/home/foo/.ssh/id_rsa.
Your public key has been saved in /v/home/foo/.ssh/id_rsa.pub.
The key fingerprint is:
45:eb:52:5f:ad:8c:f3:c5:b5:45:f7:5r:1d:98:c5:b4 foo@example
The key's randomart image is:
+--[ RSA 2048]----+
| . *+ |
| . .+o o+|
| + .E*|
| + .++ +*|
| S . + +.=|
| . o++ |
| o |
| |
| |
+-----------------+

すると、$HOME/.ssh/id_rsaと$HOME/.ssh/id_rsa.pubという二つのファイルが作成される。

この内、id_rsa.pubをサーバ(アクセスされる側)にコピーします。
実際には、ファイルの内容をサーバ側の$HOME/.ssh /authorized_keysに追加します。
そして、アクセス権を0600すなわち、Ownerのみ読み書きができるように設定します。
また、「.ssh」ディレクトのアクセス権も0700になっているか確認してください。

以上で、パスワードなしでアクセスできるようになります。

sshでパスワード認証ではログインできるが公開鍵認証ではログインできない場合は?
たいていの場合、「.ssh」内のファイルのアクセス権が自分以外でも読み書きできたり、
ホームディレクトリのアクセス権が他人でも書き換えられるようになっていると、
sshは安全のため、認証を行わなくなります。

「.ssh/authorized_keys」は600が原則です。
ホームディレクトリは最低でも755にしておきます。


Windowsの商用SSHクライアントからLinuxのOpenSSHサーバにパスワードなしでアクセスするには?

商用SSH(学術機関などではフリーで使えるバージョンが公開されている)とOpenSSHでは鍵を変換しないと使えません。
まず、クライアント側Windowsのコマンドプロンプトで、公開鍵を以下の要領で作成します。
C:\>ssh-keygen2 -t rsa
Generating 2048-bit rsa key pair
5 oOo.oOo.oOo.
Key generated.
2048-bit rsa, foo@BAB4380083, Fri Apr 07 2006 05:28:47
Passphrase :
Again :
Key is stored with NULL passphrase.
(You can ignore the following warning if you are generating hostkeys.)
This is not recommended.
Don't do this unless you know what you're doing.
If file system protections fail (someone can access the keyfile),
or if the super-user is malicious, your key can be used without
the deciphering effort.
Private key saved to C:/Documents and Settings/foo/Application Data/SSH/UserKeys/id_rsa_2048_a
Public key saved to C:/Documents and Settings/foo/Application Data/SSH/UserKeys/id_rsa_2048_a.pub

できたid_rsa_2048_a.pubをサーバ側のLinuxに持って行きます。
これを次のコマンドで変換する。
$ ssh-keygen -i -f id_rsa_2048_a.pub > id_rsa_2048_a_openssh.pub

これで、id_rsa_2048_a_openssh.pubはOpenSSHで使える公開鍵に変換された。この内容を、$HOME/.ssh/authorized_keysに追加してやると、商用SSHから、パスワードなしでアクセスできるようになります。

なお、同様に、商用SSHの秘密鍵をOpenSSHで使える形式に変換するには、
$ ssh-keygen -i -f id_rsa_2048_a > id_rsa

とする。そしてid_rsaを自分のホームディレクトリ上にある.sshに移動して、アクセス権を600にします。
ファイル名は必ずir_rsaとします。(id_rsa_2048_a_openssh等にすると、うまくいきません)
スポンサーサイト


Category:未解決メモ | Comment(2) | Trackback(0) | top↑ |
| HOME | スレッド(Thread)でDBを検索途中でキャンセルする>>

承認待ちコメント

このコメントは管理者の承認待ちです
| | | 2012.11.22(Thu) 10:18:52 | [EDIT] | top↑ |

承認待ちコメント

このコメントは管理者の承認待ちです
| | | 2012.11.14(Wed) 23:23:09 | [EDIT] | top↑ |

name
title
mail
url

[     ]
Trackback URL
http://fomsan.blog71.fc2.com/tb.php/5-52ae1c9d

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。