読者です 読者をやめる 読者になる 読者になる

おれはPuTTYをやめるぞ! ジョジョーーッ!!

(正確には、PuTTYじゃなくてKiTTYなんですけど)

先週、トロイの木馬が仕込まれたPuTTYが出回ってる!的な話題がありましたが、PuTTYを安全にダウンロードすることは事実上不可能らしいです。

blog.midchildan.org

たしかにめっちゃわかる。あの公式サイトが本物だと誰が見抜けるのか。。

そもそも、今更すぎて誰も突っこまないけど、PuTTYって、

  • なんで右クリックでペーストがデフォルトなの? 危なくない?
  • なんでちょっと選択しただけでクリップボードにコピーされちゃうの?? いま俺ペーストしようと思ってたのにー!!
  • なんで今開いてる設定を保存できないの???
  • あの.ppkとかいう謎の秘密鍵の形式なんなの????

みたいな疑念が抑えきれなくなります。ダークサイドに飲まれかねません。

憎しみでこの身を滅ぼすよりは、一念発起、PuTTYを使うのをやめようと思います。

PuTTYとはなんだったのか

SSHだけなら、MinGWでも使えます。それでもPuTTYを使う理由は何かというと、たぶん私にとってPuTTYは「SSHクライアント」ではなく「生コマンドプロンプトよりちょっといいコンソール」だったのだと思います。上に書いたみたいに、デフォルトのコピー&ペーストの挙動はしっくりきませんが、まあ設定変えれるし、あのコピペしずらすぎるコマンドプロンプトと比べれば百万倍マシです。

なので、「ちょっといいコンソール」と「ミニマルなSSHクライアント」があれば事足りる予感がします。(シリアル通信とかはできなそうですが、そこは必要になったら考えることにします)

MSYS2

sshだけ欲しいなら、CygwinからOpenSSHだけ抜き出したものも存在しますが、せっかくなので大イム様がちらっとつぶやいていたMSYS2を使ってみることにします。

MSYS2は、CygwinMinGWをいい感じに組み合わせて、*nix環境のコマンド群をWindowsで使えるようにするものです。Arch Linuxpacmanというパッケージ管理システムを使っていて、新しいソフトウェアを入れたりアップデートしたりするのもお手軽です。

ちなみにMSYSのバージョンアップではなく、Cygwinをベースに書き直したものらしいです。

MSYS2 is an independent rewrite of MSYS, based on modern Cygwin (POSIX compatibility layer) and MinGW-w64 with the aim of better interoperability with native Windows software. (http://sourceforge.net/projects/msys2/)

インストールは、以下にあるようにインストーラをからインストールしたあと、さっそくMSYS2を立ち上げてpacmanでパッケージをアップデートします。ちなみに、コンソールへのペーストはShift+Insキーで、コピーはCtrl+Insキーです。

MSYS2 installer

pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime

上のコマンドを打ったら、いちどMSYS2を閉じて開きなおします。

pacman -Su

これでMSYS2は最新になりました。とりあえず使いそうな、opensshgitあたりを入れときましょう。

pacman -S openssh git

試しにGithubにつないでみる

まず、鍵と設定をつくります。

$ ssh-keygen -f ~/.ssh/github
...snip...

$ tee -a ~/.ssh/config <<EOF
Host github
  Hostname github.com
  User git
  IdentityFile ~/.ssh/github
  IdentitiesOnly yes
EOF

次に、公開鍵をGithubに登録します。

clipコマンドに出力を渡すと、クリップボードにコピーしてくれます。これをGithubのSettings > SSH Keysから登録しましょう。

$ clip < ~/.ssh/github.pub

これで設定できたはずなので、アクセスできるか試します。初回の接続なので「ほんとにいいの?」的なことを聞かれますがyesと答えます。

$ ssh github
...snip...
Are you sure you want to continue connecting (yes/no)? 

以下のようなメッセージが出れば成功です。もうPuTTYを使う必要はありません!

Hi yutannihilation! You've successfully authenticated, but GitHub does not provide shell access.

その他

フォントを変える

上のウィンドウバーで右クリックを押すとメニューが出るので「Options...」を選びます。Textという項目からフォントを設定できます。Source Code Proあたりにしておくと、おしゃれな気分になれるでしょう。

ConsoleZ

Poderosa使ってるひとは「タブがないと…」みたいな気分になると思うので、ConsoleZとか使うといいでしょう。

私も使おうと思ってたんですが、MSYS2標準ので満足してしまったので気にしないことにします。困ったらtmuxとか使えばいいかな、と思ってます。

まとめ

タイトルで叫びたかっただけのエントリーでした。サーセン。。

大イム様、MSYS2情報ありがとうございました。