Xserverにssh接続する際Permission denied〜が表示された時のあるある
Xserverって、実はOSのディストリビューションを公開していないんですよね。
テスト環境(Vagrant)を構築するために、使っているディストリビューションを調べようとして、sshで接続しようとしたところ"Permission denied"で接続できず。
結局、本当にただのパーミッションミスだったのだけれども、同じことでお悩みの方には参考になれば。
※OSXからの接続です。
Xserverにssh接続する時にやったこと
素人臭いですが、xserverのサーバーパネルからsshをONにした際、公開鍵の生成ができるタブがあったため、ここで公開鍵ファイルを作成。
右下の、「公開鍵認証用の鍵ペア生成」ボタンを押すと、公開鍵ファイルがダウンロードされるので、それを"id_rsa"にリネーム。
/Users/ユーザー名/.ssh/id_rsa に置きました。
こちらの記事で、パーミッションは過不足あると接続できないとのことなので、この時点で"chmod 600/Users/ユーザー名/.ssh/id_rsa"と設定。
サーバー側には自動で公開鍵ファイル(.ssh/authorized_keys)が作成されるので、早速sshで接続を試みる。
なぜか"Permission denied (publickey,gssapi-keyex,gssapi-with-mic)."と表示。
こっからサーバー側の.ssh/authorized_keysに、クライアント側公開鍵がきちんと設定されているかを確認。
ssh-keygen -y -f /Users/ユーザー名/.ssh/id_rsa
で表示されるのが公開鍵ですので、これで検索。きちんと全一致。おかしいな。
〜〜〜〜〜〜〜〜〜〜〜〜
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Next authentication method: publickey
debug1: Trying private key: /var/root/.ssh/id_rsa
debug1: Trying private key: /var/root/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
〜〜〜〜〜〜〜〜〜〜〜〜
id_rsaをきちんと見に行って、スルーされている。
ということはid_rsaに問題がある…
と、ここで問題解決。
Permission denied〜の解決方法
root権限sshコマンド叩いていました…
要するに、
1.一般ユーザー(GUI)で公開鍵ファイルを作成&.sshに配置
2.ターミナルよりrootでパーミッション600(所有者のみ読み書き可能)を設定
3.rootでssh叩きまくる
4.鯖sshd「id_rsa見れへんやん。認証でけへんわ。Permission denied表示したろ」
5.ぼく「!?」
というわけでした。
exitで一般ユーザーに戻り、ssh叩いたら普通にログインできましたとさ。
こちらの記事が非常に参考になりました。多謝。
サーバーの知識ないなあ。と思ったら、俺ほとんどホストばっかり叩いていたことに気づいたのでした。めでたしめでたし。