• ベストアンサー

sshの公開鍵暗号方式について

今linuxのfedora3でsshのログインをパスワードではなくて公開鍵に変更しようとしています。 rootでssh-keygenによって鍵を作り、rootの/root/.ssh/authorized_keysに鍵を登録すると上手くいき公開鍵暗号方式でのログインができるようになりました。 しかし、rootでないtestというユーザで鍵を作り、/root/.ssh/authorized_keysに鍵を登録してもtestは公開鍵によるログインにならずパスワードによるログインのままでした。試しに/home/test/.ssh/authorized_keysを作って鍵を登録してみたのですが、変化なしです。どこが悪いのでしょう?root以外での公開鍵暗号方式が上手くいきません。 長くなってすみませんが、誰か教えてくれませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

チェックポイント1 /home/test/.ssh/authorized_keys というか /home/test/.ssh/ の中にある「全てのファイル」の所有者が「test」であり、パーミッションが「600」になっているか。具体的にはこんな感じ。 # ls -laF drwxr-xr-x 2 test test 4096 May 23 ./ drwxr-x--- 50 test test 4096 May 23 ../ -rw------- 1 test test 654 May 23 autorized_keys チェックポイント2 本当にユーザtestでsshを試みてる? OpenSSHなら # ssh -l test HostName とりあえずこれだけ試してみてくれたまい。

pandamans
質問者

お礼

返信ありがとうございます。 上でも書いたのですが解決しました。 もしかしたら所有者などがrootになっていたのかもしれません。 こんな簡単なことにいちいち協力していただきありがとうございました。

その他の回答 (1)

  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

以下のような感じでroot以外でも出来ています。 ○Fedora Core 3 (SSHサーバ側:192.168.1.202) 1. 鍵作成 [test@FedoraCore3 ~]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/test/.ssh/id_rsa): Created directory '/home/test/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/test/.ssh/id_rsa. Your public key has been saved in /home/test/.ssh/id_rsa.pub. The key fingerprint is: <省略> 2. 公開鍵をauthorized_keysにコピー [test@FedoraCore3 ~]$ cd .ssh [test@FedoraCore3 ~/.ssh]$ cp -p id_rsa authorized_keys [test@FedoraCore3 ~/.ssh]$ ls -l 合計 24 -rw------- 1 test test 951 5月 23 03:00 authorized_keys -rw------- 1 test test 951 5月 23 03:00 id_rsa -rw-r--r-- 1 test test 214 5月 23 03:00 id_rsa.pub 3. 秘密鍵をクライアント側へ転送 [test@FedoraCore3 ~/.ssh]$ ftp 192.168.1.1 Connected to 192.168.1.1. <略> ftp> put id_rsa local: id_rsa remote: id_rsa 227 Entering Passive Mode (192,168,1,1,244,128) 150 Opening BINARY mode data connection for 'id_rsa'. 226 Transfer complete. 951 bytes sent in 3e-05 seconds (3.1e+04 Kbytes/s) ftp> quit 221 Goodbye. [test@FedoraCore3 ~/.ssh]$ ○FreeBSD (SSHクライアント側:192.168.1.1) 1. .sshディレクトリ作成 % mkdir .ssh % chmod 700 .ssh 2. 秘密鍵を.sshディレクトリに移動&パーミッション変更 % cd .ssh % mv ../id_rsa . % ls -l id_rsa -rw-r--r-- 1 test test 951 May 23 09:16 id_rsa % chmod 600 id_rsa % ls -l id_rsa -rw------- 1 test test 951 May 23 09:16 id_rsa 3. sshでFedora Core 3へログイン % ssh -l test 192.168.1.202 The authenticity of host '192.168.1.202 (192.168.1.202)' can't be established. DSA key fingerprint is **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.202' (DSA) to the list of known hosts. Enter passphrase for key '/home/test/.ssh/id_rsa': Last login: Mon May 23 03:01:50 2005 from 192.168.1.1 [test@FedoraCore3 ~]$

pandamans
質問者

お礼

詳しい説明ありがとうございました。 参考にして落ち着いてやってみると上手くいきました。 どこが間違えていたのかはハッキリしてないのですが、とりあえずできるようになったので満足しています。

関連するQ&A