2015年2月8日日曜日

お名前.comにssh接続する話

ある理由でお名前.comに月々896円でサーバを借りまして、
ここにLAMPを組み立てようとしたわけだが、SSHに手間取ったそんな話

まずお名前.comでサーバを借りると、デフォルトでCENTOSでセットアップ
されたサーバーが最初にできる。これを変更することも可能だけど、面倒なので
このまま使用。まずsu,sudo使用可能ユーザーkokawa2003を作った。yum updateももちろんした。

最初の問題としてWEBからアクセスしてサーバーをコントロールするのは面倒なので
ubuntuからSSHでアクセスできるようにしたいのだが、
これ、お名前.comからダウンロードしたキーファイルで
$ssh -v -i [キーファイル]  -p 22 root@[サーバアドレス]
でやったが何回しても失敗。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
になってしまう。

そこで攻め方を変えてssh以外のubuntuのSSHクライアントをさがすと
puttyとfiressh(firefox addon)がみつかった。
これをつかうとどちらもSSHアクセスできるのがわかった。
がしかし、つかうのが辛い(カット&ペーストがやりづらい)。
そこでもう一度不具合Permission deniedに対処することにした。

まずrootアクセスをやめて一般アクセス(kokawa2003で)する方法をさがす。
これはあっさり見つかった。が手順が面倒
まずローカルでsshのキーを作る。私の場合
$ssh-keygen -t rsa -b 2048
で作った(引数の意味は調べてください)
これで~/sshに
id_rsa  id_rsa.pub
の2つのファイルができる。このid_rsa.pubが公開キーで
ssh-rsa ???????????????????
のような中身のファイル。これをサーバーにコピーする
具体的にはfiresshでrootログイン後
$su kokawa2003
$vi /home/kokawa2003/.ssh/authorized_keys
でファイルを開いてブラウザから
ssh-rsa ???????????????????
を貼り付ける。
puttyはどうもカット&ペーストできないらしい(少なくとも私はわからなかった)
viの使いかたの説明は勘弁してくれ。
できたら:wqで保存。

ここでfiresshとputtyでkokawa2003でログインできるのを確認
ただsshは
$ssh kokawa2003@monkeytalk.jp
でするとさらに失敗
Agent admitted failure to sign using the key.
となる
これをGoogleで調べると
$ssh-add ~/.ssh/id_rsa
で解決し、今度は
$ssh kokawa2003@monkeytalk.jp
でログインできるのを確認。

そこで早速ログインしてsuで
vi /etc/ssh/sshd_config
を編集しルートアクセス禁止にした。

このあとPHP,MYSQL,HTTPDを入れてLAMPを作るのだが
その話はPHPを5.5にしたことぐらいしか書くことがないので省略

肝はローカルのid_rsa.pubをサーバーに書き込むこと
ただviで一字も間違いなく打ち込めないのでカット&ペーストできる
クライントを一時的に見つける必要あり。

ちなみにこれ以降は
scpとかでファイルのアップもできるのを確認。