2012年8月12日日曜日

ssh_exchange_identification: Connection closed by remote host

今までのように、sshでサーバーに入ろうとしたら、怒られた。
ssh_exchange_identification: Connection closed by remote host

最近、何もいじくってないのに。
いや、MacBook Airから鍵認証で入れるようにしたが・・・
サーバー側はいじってないはず。

ググると、いろいろかかれてた。
ひとつずつ、対応してみた・・・

/etc/hosts.deny


まずは、一番怪しそうなこのファイル。
中身を見たら、いろんなサイトが追加されてた。

そういえばdenyhostsをインストールしていた。
アタックしてるサイトのIPアドレスが追加されてる。

えっ、こんなにアタックがあるんだ。
ポート変更しとこう・・・

ちなみに、自分のアクセス元はありませんでした。
これが原因ではない。

/etc/ssh/sshd_config


このなかの「MaxStartups」を設定しておくのがよいらしい。
見たら、コメントアウトされてたので、「#」マークを削除。

リスタートして・・・まだ動かない。

/etc/hosts.allow


まさかね。
これじゃないよね。でも何も書いてないよな。

このページを参考にして「sshd:all」と一行追加。


動いた。


こうなると、今まで動いていたのが不思議だが、

ま、少しセキュリティも向上して、よかった、よかった。

2012年8月11日土曜日

gitのレポジトリをサクラVPSに作ってみた

サクラさんのVPSを借りた理由の一つが、自分のgitレポジトリを持ちたいということ。これでパスワード付きのソースコードだって気にしないで管理できる。

最初はgitosisかgitoliteをインストールする予定だった。
が、Stackoverflowの両者の比較ページにgitだけでレポジトリを作る方法が説明されていた。簡単そうだったので、まずはこれでゆくことにした。

ちなみに、日本語での説明はこのページに
もう書いてあるそのまま。

サーバー側でgitがインストールされているとして、
ssh [user@]server
cd repos/
mkdir test.git
cd test.git
git init --bare

ローカル側でもgitが入っていれば、
cd src/test
git init
git remote add origin [user@]server:repos/test.git
git push
これでレポジトリができて動いた。

ひとつだけ、ローカル側でgit remote add originを走らせると、こんなエラーが出た。
fatal: Not a git repository (or any of the parent directories): .git

原因はgit initを走らせていないこと、だって。