• 締切済み

SSHの公開鍵方式の接続について

 SSHの公開鍵(&秘密鍵)の認証での接続について質問です。  現在、Mac OSXのターミナルからLinuxのFC5サーバーに接続しようとしているのですが、うまく接続できません。  FC5側のSSHサーバーはすでに起動しているのですが、最初のホスト認証で躓いています。最初のアクセスの歳にSSHサーバー側から認証鍵を渡されるのですが、その時点で謝ってnoを選択してしまいました。以後、公開鍵が使えない状態になってしまい、接続しても「Permission denied (publickey,gssapi-with-mic).」になってしまいます。最初の接続時の公開鍵を再発行してもらうにはどうしたらよいのでしょうか?  ホスト認証の後は、ユーザー認証となると思いますが、この設定もちょっとよくわからない部分があります。  サーバー側で公開鍵と秘密鍵のセットをssh-kegenで作りますが、MacのOSXのターミナルから接続する場合は、この秘密鍵をどこに保存すればようのでしょうか?また保存後にこの秘密鍵を呼び出すにはどうしたらようでしょうか?  OSXも基本的にはUNIXなので、ホームディレクトリに.sshディレクトリなどを作成して保存するのでしょうか?    詳細な設定方法を教えて頂けると幸いです。

みんなの回答

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.2

ユーザのところに記録されている情報をなんとかするのが本来の対処方法なのですが…… MacOSは不明なので、こちらに関しては詳しい人からの返答待ちになります。 >サーバー側の/etc/ssh/ssh_host_rsa_key.pubの中身と同じ公開鍵が記載されています。 サーバの公開鍵のファイル…ですね。 FedoraCore5の様ですので、サーバの公開鍵を変更する方法としては… service sshd stop でopenSSHのデーモンを停止させます。(sshdではなくsshだったかもしれません) /etc/ssh/にある公開鍵ファイル(ssh_host*key*)を削除し、 service sshd start でopenSSHのデーモンを起動してください。 起動スクリプトが公開鍵の有無を判別して、再作成してくれます。 もちろん、以前書いたとおり既に公開鍵を受け入れているユーザには警告が表示されることになりますので周知が必要になるかと思います。

Tinte
質問者

お礼

ありがとうございます。 公開鍵のファイルは自動的に作成してくれるんですね。。。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

MacOSは触ったことありませんが… >最初の接続時の公開鍵を再発行してもらうにはどうしたらよいのでしょうか? サーバ側でキーを再作成してもらう必要があります。 で、再作成すると……既に受け入れているユーザ全員に「ホストの公開鍵が変更されている」という警告が表示されることになります。 ということで、一人の為にホスト側のキーを変更してくれる可能性は低いかと。 >OSXも基本的にはUNIXなので、ホームディレクトリに.sshディレクトリなどを作成して保存するのでしょうか? すでにどこかに作成されているのではないでしょうか? 最初にホストの公開鍵を禁止した設定がどこかにあるハズです。

Tinte
質問者

補足

ありがとうございます。  サーバーは私自身のモノで、これまで自分でサーバー構築やプログラムなんかをやっていたのですが、この度プログラム制作でいろいろと協力してくれる方がいて、それらの方(数名)にSSH接続してもらう…という形なので、サーバー自体の操作は、こちらで可能です。ですので、たぶん公開鍵の再発行はできると思います。ですが、どの公開鍵を発行するのかわかりません。  そのために現在OSXからの接続をネットワーク内(LAN内)でやっています。  Wr5さんのおっしゃる通り、ローカル側のホームディレクトリにすでに.sshがあり、その中にknown_hostsファイルが作成されていました。 中身は、接続したサーバーにssh-rsaで公開鍵が登録されているようです。 サーバー側の/etc/ssh/ssh_host_rsa_key.pubの中身と同じ公開鍵が記載されています。  ここまではわかるのですが、ここからどんな風に設定してゆくのかがわからない…というところです。  ここまででホストの認証鍵がある…ということだと思うのですが…。

関連するQ&A