DTIのServermanのssh接続は、パスワード認証のみ?

先日お伝えした、DTIのServerMan@VPSにも申し込んでみたわけだが、
こっちは、IPアドレス直打ちでアクセスする必要があるようだ。
しかもなんかポート番号がデフォルトの22ではないらしい。
以下のような感じでコマンドを打って接続してみる。

$ ssh -p 3843 root@xx.xx.xx.xx
...
#

ふむふむ。いいんじゃないかね。
しか~し。最近は、sshで接続する場合、公開鍵認証方式を使うのが一般的らしい。
公開鍵認証方式の仕組みは、最低辺なので知ら~ん。まあ、2つ合わせて1つの鍵みたいな感じなのかね。
あと、rootで直接入れるのは嫌だから、適当にユーザを作成 poormanした。
なんか、useraddadduserってのがあって最底辺には区別つかないんだけど!! 
まあ、useraddを使ってみた。

# useradd poorman
#

その後、Clientから公開鍵を送信。以前に作ったやつだけど問題ないでしょ。

$ scp -P 3843 authorized_keys root@xx.xx.xx.xx:.
authorized_keys
100%  397     0.4KB/s   00:00
$

サーバー側に接続してauthorized_keysを別アカウントに変更

# pwd
/root
# mv authorized_keys ~/poorman/.ssh/.
# chown poorman:poorman authorized_keys

あとは、sshサーバの設定変更する。

# vi /etc/ssh/sshd_config
...
-----------------------------
#LoginGraceTime 2m
#PermitRootLogin yes
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
...
#AllowUsers
AllowUsers poorman
# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       ForceCommand cvs server
Match User root
PasswordAuthentication no
Match User poorman
PasswordAuthentication no

これでpoormanからしか接続出来ないはず。

$ ssh -p 3843 root@xx.xx.xx.xx
...
#

あれ?接続出来るな。
む。そういえば、サーバのsshd再起動していない。

# /etc/init.d/sshd restart
$ ssh -p 3843 root@xx.xx.xx.xx
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
$

よしよし、poormanはいくはず。

$ ssh -p 3843 poorman@xx.xx.xx.xx
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
$

Oh, shit!! ナンテコッタイ。。。
両方繋がらなくなってしまったよ。
ああ、さすがは最底辺、何か馬鹿をやってしまったようだ。
小一時間悩んだところ、さっきサーバに接続していたターミナルがまだ生きていることを発見!!
助かった~。
さて、恐らくあいつだ。authorized_keysの権限

# su - poorman
poorman$ chmod 600 .ssh/authorized_keys

そしてもう一度Clientから接続。

$ ssh -p 3843 poorman@xx.xx.xx.xx
Last login: Wed Apr 17 13:28:22 2013 from xx.xx.xx.xx
[server]$

おっしゃ~。きたー。ということでもう力尽きた。
今日は長く書きすぎた。

Linux

Posted by koheizi