-->

クマザッカ

モノオタクの魅力紹介ブログ。コーヒー、ファッション、自転車の品揃えが良いです。

Xserverにssh接続する際Permission denied〜が表示された時のあるある

f:id:kumad:20170824163329p:plain

 

Xserverって、実はOSのディストリビューションを公開していないんですよね。

 

テスト環境(Vagrant)を構築するために、使っているディストリビューションを調べようとして、sshで接続しようとしたところ"Permission denied"で接続できず。

 

結局、本当にただのパーミッションミスだったのだけれども、同じことでお悩みの方には参考になれば。

 

OSXからの接続です。

 

Xserverにssh接続する時にやったこと

素人臭いですが、xserverのサーバーパネルからsshをONにした際、公開鍵の生成ができるタブがあったため、ここで公開鍵ファイルを作成。

 

f:id:kumad:20170824163809p:plain

 

右下の、「公開鍵認証用の鍵ペア生成」ボタンを押すと、公開鍵ファイルがダウンロードされるので、それを"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

で表示されるのが公開鍵ですので、これで検索。きちんと全一致。おかしいな。

 

sshコマンドに-vをつけて、デバッグ情報を見てみる。

 

〜〜〜〜〜〜〜〜〜〜〜〜

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叩いたら普通にログインできましたとさ。

 

 

こちらの記事が非常に参考になりました。多謝。

teratail.com

 

 

サーバーの知識ないなあ。と思ったら、俺ほとんどホストばっかり叩いていたことに気づいたのでした。めでたしめでたし。