• ベストアンサー
  • 困ってます

パスワードなしで ssh のログインを行いたい

http://www.okweb.ne.jp/kotaeru.php3?q=588282 の続きです いろいろ回答をいただいて問題点が少しはっきりしたので、質問の焦点を絞って再投稿します。 2台の Windows XP の PC に、Cygwinをいれ、OpenSSH サーバをたてています(サービスとして動かす)。  「パスワードなしで ssh のログインを行いたい」 のですが、うまくいきません。設定は、次のように行いました。 (1) クライアントPCで公開鍵をつくる   $ ssh-keygen -t rsa で(パスフレーズを空白にして)公開鍵を作成(identity.pub) (2) ホストPCに鍵をコピーして、   % cat identity.pub >> .ssh/authorized_keys のように、authorized_keys に鍵の内容を追加する。 Linux がホストの場合は、以上の手続きで「パスワードフリー」になったのですが、 Cygwin ではだめです。   $ssh -1 192.168.0.5 1   Permission denied.   $ ssh 192.168.0.5   Permission denied (publickey,keyboard-interactive). のようになって、失敗してしまいます。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数1235
  • ありがとう数2

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

  • ベストアンサー
  • 回答No.2
  • xjd
  • ベストアンサー率63% (1021/1612)

こちら(RedHat)では、 /home/###/.ssh ディレクトリの権限は700です。 /.ssh/authorized_keysファイルの権限は644になってます。 そちらは? また、/etc/hosts.allowでsshクライアントからの接続許可は 指定してますか? sshd : 192.168.0.0/255.255.255.0 (など)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

> /.ssh/authorized_keysファイルの権限は644になってます。 これでした!!! 644 に変えたらOKでした。 どうもすみません。 ありがとうございます!!

関連するQ&A

  • sshについて

    linux初心者です。いまsshについて勉強しています。ssh-keygenで作った鍵を相手に送りました。ちなみにidentity.pubをauthorized_keysにコピーしてから送りました。それからホストの中の~/.sshにmvでauthorized_keysに入れました。しかしsshを使うとパスワードを聞かれます。パスフレーズではいるにはどうしたらよいですか。

  • sftpのパスワードなしでログイン

    sftpのパスワードなしで自動化をしたいと考えています。 シェル内で他の処理をして、その後sftpで他のサーバーへコピー(put)します。 シェル内にsftpの起動する内容を記載するのですが、どうしてもパスワードを聞かれてしまいます。 調べてみるとSSH公開鍵認証を使用してパスワードなしのログインが出来るとありました。 試してみたのですが、どうしてもうまくログインできません。 原因と対応策を教えて頂けませんでしょうか。 OS:AIX5.3 おこなった作業は以下です。 サーバー側(ファイルを受ける側) 1、ユーザーのホームディレクトリ上でssh-keygen -t rsa を実行 2、.sshにid_rsa、id_rsa.pubができるので、id_rsa.pubをauthorized_keysへ変更する。 3、authorized_keysをクライアントに送る。 4、id_rsa、authorized_keysのアクセス権を600にする。 5、sshd.confgを編集 <編集箇所> RSAAuthentication yes   →コメントアウト PubkeyAuthentication yes  →コメントアウト AuthorizedKeyFile .ssh/authorized_keys  →コメントアウト PasswordAuthentication no →コメントアウト、yesをnoに変更 PermitEmptyPasswords yes →コメントアウト、noをyesに変更 ChallengeResponseAuthentication no →コメントアウト、yesをnoに変更 6、保存してsshdを再起動 クライアント側(ファイルを送る側) 1、ホームディレクトリの.sshにauthorized_keysを配置する。 2、authorized_keysのアクセス権を600にする。 3、sshdを再起動 以上の作業の後にクライアントからsftpでログインしようとすると、 以下のメッセージが出てしまいます。 sshも同様です。 (ログインしてホームディレクトリにいるとします) $ sftp -i ./ssh/authorized_keys ユーザー名@ホスト名 Enter passphrase for key '.ssh/authorized_keys': Permission denied (publickey). Connection closed $ ssh -i .ssh/authorized_keys ユーザー名@ホスト名 Enter passphrase for key '.ssh/authorized_keys': Permission denied (publickey).

  • sshでログインするパスワードの変更

    WindowsからlinuxにputtyやWinSCPでsshでアクセスしています。 linuxには、公開鍵を置いています。  /home/hogehoge/.ssh/authorized_keys2 Windowsには、秘密鍵を置いています。 鍵は、puttygen.exeで作りました。 この場合、パスワードを変更する場合は、もういちどputtygen.exeで公開鍵と秘密鍵を作り直して ssh-keygenを実行しないといけないのでしょうか? 簡単にパスワードだけを変更できるのでしょうか? すみません、linuxはあまり詳しくないです。 環境 linux: SuSE 9 Windows7(64bit)

その他の回答 (2)

  • 回答No.3
  • xjd
  • ベストアンサー率63% (1021/1612)

>(1) クライアントPCで公開鍵をつくる >  $ ssh-keygen -t rsa >で(パスフレーズを空白にして)公開鍵を作成(identity.pub) > >(2) ホストPCに鍵をコピーして、 >  % cat identity.pub >> .ssh/authorized_keys よく読んだら、なんか変です ssh1プロトコル(2)と、ssh2(1)プロトコルが混同してます? (1)はssh2プロトコルなので以下の様になるはずですが? $ ssh-keygen -t rsa できたid_rsa.pubをsshサーバに持ってくる。 % cat id_rsa.pub >> .ssh/authorized_keys2 ssh1プロトコルで利用する時は(1)はこうなります。 $ ssh-keygen -t rsa1

共感・感謝の気持ちを伝えよう!

  • 回答No.1
  • xjd
  • ベストアンサー率63% (1021/1612)

ログイン先のアカウントを指定しないと、誰にログインしていいのか 分からないです。 % ssh ###.net Permission denied (publickey,keyboard-interactive). % ssh hoge@###.net Last login: Mon Jun 30 00:51:20 2003 from cl.###.net $

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。アカウントを指定しましたが、だめでした。。。 $ssh 192.168.0.5 Permission denied (publickey,keyboard-interactive). $ ssh hoge@192.168.0.5 Permission denied (publickey,keyboard-interactive).

関連するQ&A

  • 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以外での公開鍵暗号方式が上手くいきません。 長くなってすみませんが、誰か教えてくれませんか?

  • DSA認証でパスワードを聞かれてしまう・・

    ssh の公開鍵認証がうまく行きません。 つぎのようにやりました。 #ssh-keygen -t dsa #scp /home/hoge/.ssh/id_dsa.pub hoge@remotehost:/home/hoge/ #ssh hoge@remotehost hoge@remotehost's password:  ←パスフレーズを入力します #cat id_dsa.pub >> /home/hoge/.ssh/authorized_keys このあと、 ●.ssh のモードを 700 ●authorized_keys のモードを 600 に設定します。 こうすると、次のログインでは、 だいたいのホストでは、パスフレーズ入力だけになって、 パスワードは聞かれません。 しかし、ホストによっては、 パスフレーズ入力+パスワード入力が必要になります。 なぜでしょうか? うまく行っていないホストは redhat です。

  • 外出先ホストからでも容易にSSH公開鍵アクセスできるようにするには

    RedHat9(host1)─WAN─RedHat9(host2) | WAN | Solaris2.6 としています。 host2で [user01@host2]$ ssh-keygen -t dsa [user01@host2]$ ssh-keygen -t rsa [user01@host2]$ ssh-keygen -t rsa1 [user01@host2]$cat ~/.ssh/id_dsa.pub >> ~/authorized_keys [user01@host2]$cat ~/.ssh/id_rsa.pub >> ~/authorized_keys [user01@host2]$cat ~/.ssh/identity.pub >> ~/authorized_keys [user01@host1]$ scp -P 60001 user01@host2:~/authorized_keys ~/.ssh/ [user01@host1]$ ls -l ~/.ssh/authorized_keys -rw------- 1 user01 user01 1179 1月 8 11:17 /home/user01/.ssh/authorized_keys [user01@host1]$ ls -alF ~/ | grep ssh drwx------ 2 user01 user01 4096 12月 23 13:06 .ssh/ として [user01@host2]$ ssh -l user01 host1 -p 60001 Enter passphrase for key '/home/user01/.ssh/id_rsa': となり、アクセスできました。 続いて、 [hoge@solaris]$ scp -P 60001 user01@host2:~/.ssh/* ./.ssh/ として host2の公開鍵、秘密鍵をコピーしました。 そして、 [hoge@solaris]$ ssh -l user01 host1 -p 60001 としてみましたら、 「Permission denied」 となってアクセス出来ません。 どうすればアクセス出来るようになるのでしょうか?

  • sshでパスワードなしにする方法(サーバ)

    リモートのコンピュータ(windows2003server)にクライアント(HU-UX)からsshを利用して自動実行したいのですが、どうしてもパスワードを聞かれてしまいます。 クライアント側 # ssh -v OpenSSH_3.7, SSH protocols 1.5/2.0, OpenSSL 0.9.7c 30 Sep 2003 サーバ側 C:\Documents and Settings\Administrator>ssh -v OpenSSH_3.8.1p1, OpenSSL 0.9.7d 17 Mar 2004 手順は クライアント側 # ssh-keygen -t rsa1 下記が作成される 秘密鍵: ~/.ssh/id_dsa 公開鍵: ~/.ssh/id_dsa.pub id_dsa.pubをリモート側の~/.sshに転送する。 リモート側 id_dsa.pubをauthorized_keysに追加する。 以上です。

  • 鍵交換方式のsshでアクセスするための設定について

    鍵交換方式のsshでアクセスするために、puttygen.exeというプログラムを使用して、秘密鍵と公開鍵を作成しました。 公開鍵はOpenSSHでは使用できないので、Linuxでssh-keygenコマンドを使用して使用可能な形式に変換しました。 それを$HOME/.ssh/authorized_keysというファイルに追加するため、 cat putty.pub >> $HOME/.ssh/authorized_keys を実行したところ、 -bash: cd: /home/.ssh: そのようなファイルやディレクトリはありません とでてしまいました。 root からとユーザログイン状態で、cd /home とし、ls -a としましたが、.ssh というディレクトリはないようです。 /home/.ssh/authorized_keys というファイルがあるはずなんですよね。。 どなたか教えて下さい。

  • sshの鍵方式ログイン

    sshで【ssh-keygen -t rsa】で鍵を作成し、pubキーをログイン先のサーバーへ配置しました。この方式でrootでは難なくログインできるのですが、一般ユーザーだと【Permission denied (publickey,gssapi-with-mic).】のようにエラーが出てログインできません。なぜでしょうか? ご存知の方、宜しくお願いします。

  • authorized_keysに追加済の公開鍵をauthorized_keysから削除する方法?

    リモートサーバの.sshフォルダ内のauthorized_keysに追加した公開鍵が不必要になった場合、この鍵をauthorized_keysから削除するにはどのようにすればよいのでしょうか? 鍵の追加は,catコマンドを使用するのは分かりますが、 例)cat putty.pub >> $HOME/.ssh/authorized_keys 鍵の削除はどのようなコマンドを使用するのか分かりません。 注意: このスレッドでは、authorized_keysにcat putty.pub ファイルの内容を追加後、不必要となったcat putty.pub ファイルの削除の仕方を聞いているのではありません。このスレッドでお聞きしているのは、既にauthorized_keysに追加済みの複数の公開鍵の内、特定の鍵のみをauthorized_keysから削除する方法をお聞きしています。 よろしくお願いします。

  • iMac(OSX10.6.6)でのSSH接続の方法

    お世話になります。 先日までWin7のTeratermでSSH接続していたのですが、iMacにマシンが変わってからSSH接続の方法がわかりません。 現在ターミナルから.ssh内にWin7からもってきたpubkey.pub(鍵)を設定して接続をこころみていますが、なかなかつながりません。 エラーは、 Permission denied (publickey,gssapi-with-mic). になっています。 Win7ではTeratermのショートカット(エイリアス?)をつかって、 "C:¥Program Files (x86)¥teraterm¥ttermpro.exe" hostname:22 /ssh /1 /auth=publickey /keyfile=C:/pubkey.pub /user=hoge /passwd=hogehoge /KR=UTF8 /KT=UTF8 みたいな感じで接続していました。 ssh-keygenから鍵を作成してSSH側に設定するということが現在権限がなくてできないのですが、pubkeyのみでWin7からMacに移行できる方法があればおしえてください。 chmod 700 .ssh/ chmod 600 .ssh/pubkey.pub とパーミッションも大丈夫です。 現在Macターミナルから、 ssh -p 22 hoge@hostname -i ~/.ssh/pubkey.pub とやろうしています。 また、ちょっと理論的にはっきりとわかっているわけではないので、やや混乱しておりますが、クライアント(リモート側)がSSH接続に必要なものは(設定にもよりますが…)公開鍵だけでよいのでしょうか?以前のWin7では公開鍵とパスワードのみで接続していたと認識しています。 よろしくお願いします。

  • パスワード入力なしでsshログイン

    パスワード入力なしでsshログインしたいけど上手く行きません。 CentOS7のPCが2台(CentOS7-C, CentOS7-S)あります。 CentOS7-CからCentOS7-Sにパスワード入力なしでsshログイン(鍵認証でログイン)したいと思い、下記のサイトを参考にしながら悪戦苦闘しています。 パスワード入力なしでsshログイン(鍵認証でログイン) https://setting-tool.net/ssh-key-authorize <手順> クライアント側  ssh-keygen -t rsa でキー生成 サーバー側  クライアントで生成したキーを保存 <コマンド> ■前提 クライアント側 CentOS7-C 172.16.0.201 サーバー側 CentOS7-S 172.16.0.202 ■クライアント側設定 キーの発行 [root@CentOS7-C ~]# ssh-keygen -t rsa パーミッション設定 [root@CentOS7-C ~]# chmod 700 /root/.ssh [root@CentOS7-C ~]# chmod 600 /root/.ssh/* キーファイルをサーバー側に送る [root@CentOS7-C ~]# rsync -av -e ssh /root/.ssh root@172.16.0.202:/root/.ssh/from172.16.0.201 この時は手動でパスワード入力 ■サーバー側設定 クライアントからのキーファイルを別名で保存 [root@CentOS7-S ~]# cp /root/.ssh/from172.16.0.201/.ssh/id_rsa.pub /root/.ssh/authorized_keys キーファイルのパーミッション設定 [root@CentOS7-S ~]# chmod 600 /root/.ssh/authorized_keys ■クライアント側から接続 [root@CentOS7-C ~]# ssh root@172.16.0.202 Enter passphrase for key '/root/.ssh/id_rsa': 成功していればパスワードを聞かれずにログイン。 しかし、失敗しているので、パスワードを要求されている。 <考察> クライアントで生成したキーをサーバーにリモートコピーするだけなのに上手く行かない。 シンプルな話、 クライアントの /root/.ssh/id_rsa.pub と サーバーの /root/.ssh/authorized_keys が 同じであれば成立するというだけの話に思えるが、 クライアントでのcat /root/.ssh/id_rsa.pub と サーバーでのcat /root/.ssh/authorized_keys を見比べても全く同じなのに上手く行きません。 何が悪いのでしょうか?

  • SSH通信で秘密鍵の読み込みが失敗

    ●質問の主旨 クライアントコンピューターとサーバー間で SSH通信を行いたいと考えています。 公開鍵暗号方式でSSHサーバーに対して、 クライアントコンピュータからリモート接続を行おうとして クライアントのTeraTermを使って秘密鍵でアクセスしようとしたところ、 「SSH2秘密鍵の読み込みに失敗しました」という添付画像のような メッセージが出ます。 このメッセージ出されることなく、クライアント~サーバー間で SSH通信を行うためには、どこをチェックすればよいでしょうか? ご存知の方がいらっしゃいましたら、ご教示願います。 ●質問の補足 現在の状況は以下の通りです。 1.クライアントのTeraTermで秘密鍵(id_rsa)と公開鍵(id_rsa.pub)を作成 2.秘密鍵(id_rsa)はクライアントのCドライブのRSAという任意の名前のフォルダに保存 3. 公開鍵(id_rsa.pub)はSFTPでサーバーの一般ユーザのホームディレクトリに転送 4. 一般ユーザのホームディレクトリ配下に/.ssh/authorized_keysディレクトリを追加 (cat id_rsa.pub > /home/user/.ssh/authorized_keys) 5.chmodコマンドで.ssh及び.ssh/authorized_keysのアクセス権を変更 6.cat authorized_keysで中身を見ると、 公開鍵(id_rsa.pub)の文字の羅列が並んでいる ●環境 上記で言う、クライアントコンピュータはWindows8を使用しています SSHサーバーは、CentOS6.0をディストリビューションとするLinuxを使用しています