開発に参加したい方へ>SourceForgeの使い方>shell serviceの利用法:PUTTY編
shell serviceの利用法:PUTTY編
sourceforgeはパスワードによる認証を許可しているため、ここで説明する公開鍵認証の設定をしなくても接続は可能です。ただしパスワードが生で流れてしまいます。
SSHについてより詳しくは、公式ドキュメントSSH Client Instructionsを参照ください。
ダウンロード
PUTTY本家
http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html
PUTTY日本語版
http://hp.vector.co.jp/authors/VA024651/PuTTYkj.html
PUTTY日本語INI版
http://yebisuya.dip.jp/Software/PuTTY/
キーの生成と登録
- Putty をダウンロードします。
- ダウンロードファイルの中からputtygen.exeを起動
- ParametersのSSH-2DSAを選択
- Generateボタンをクリック
- puttygen.exeのウィンドウの中で適当にマウスを動かすと、キーが生成されていくのが分かります。
- ゲージが満タンになるまでマウスを動かし続けます。
- KEYが生成されたら、Key CommentにUSERNAME@shell.sourceforge.net を入力
- Key passphraseとConfirm passphraseにそれぞれパスフレーズを入力します。パスフレーズはパスワードみたいなものですが、パスワードが単語を意味するのに対してパスフレーズは文章と考えてください。簡単に言えば長いパスワードです。「I'm happy.」のようににスペースを含む文章が望ましいとされています。
- Save private keyボタンをクリックし、SourceForge-Shell.ppk などと名前をつけて保存します。プライベートキーは流出・漏洩のないように気をつけましょう。
- puttygen.exeの画面上部に表示されたパブリックキー(Public key for pasting into OpenSSH authorized_keys2 fileの欄) をクリップボードにコピーします。
- パブリックキーの登録画面 を開きます。
- キー送信フォームにペーストして送信します。
- puttygen.exeを終了します。
- 送信したキーの登録完了まで時間(30分くらい?)がかかるので、しばらく待ちます。
SSH初期設定と接続
サーバ移行による変更点
2008.09よりサーバ移行のため、接続方法が少し変わったみたいです。
接続する際、ユーザー名の後ろにプロジェクト名を付加させるようになりました。
きちんとドキュメントを読んでいないので詳しいことは不明ですが、シェルのプロセスをユーザー毎に毎回生成して接続するようなイメージです。
ちなみに、sshコマンドが使用できる場合はこんな感じです。
ssh -t USER,PROJECT@shell.sourceforge.net create
※ProjectのWebエリアにsftpベースのアクセスがしたいだけの方は、シェルの生成は不要ですので、後述「Webエリアへのファイル転送」をお読みください。
このシェルの生存期間は240分で、timeleftというコマンドで残りの生存期間が確認できます。
残り生存期間を待たずしてシェルを終了する場合は、shutdownというコマンド(思わず実行を躊躇したくなりますが)だそうです。
FileReleaseSystemのファイルのUploadはここからでも可能になったようですが、未確認です。
接続手順
以下にputtyの接続方法を説明します。
- putty.exeを起動します
- セッションカテゴリ内のホスト名の欄にshell.sourceforge.net を入力します。
- ウィンドウ¥変換カテゴリ内の文字コード設定を「UTF-8(CJK)」に設定します。※本家PuttyではUTF-8(CJK) の設定はありません。
- 接続カテゴリの「自動ログインのユーザ名」にsourceforgeのユーザー名とプロジェクト名を入力します。カンマ区切りで「USERNAME,PROJECTNAME」とします。
- ネットワークの環境によっては、接続¥Proxy カテゴリを設定します。
- 接続¥SSH¥認証カテゴリの「認証のためのプライベートキーファイル」にプライベートキーファイルを指定します。
- 接続¥SSHの「サーバに送られるデータ」に、「create」と入力します。
- セッションカテゴリ内の「保存されたセッション」にsf-shellなどと任意の名前を入力し、保存ボタンをクリックします。以上で初期設定は完了です。
- セッション一覧のセッション名(sf-shellなど)をダブルクリックすると接続を試みますが、初回のみ「過去に接続したことのない相手だけど、ここに接続してもいいの?」みたいなことを聞かれるので、YESを選択します。
- パスフレーズを入力(何も表示されない)すると、 20秒くらいでシェルが立ち上がり接続完了です。
Webエリアへのファイル転送
sftpはセキュアな接続でファイル転送を実現します。対話型のコンソールアプリになっており、サブコマンドはftp.exeとほとんど同じです。
ここでは、psftp.exeを使ったプロジェクトのWebエリアへの接続設定例と接続方法を説明します。
初期設定
- 初期設定を保存するため、まずはputty.exeを起動します
- セッションカテゴリ内のホスト名の欄にweb.sourceforge.net を入力します。
- ウィンドウ¥変換カテゴリ内の文字コード設定を「UTF-8(CJK)」に設定します。※本家PuttyではUTF-8(CJK) の設定はありません。
- 接続カテゴリの「自動ログインのユーザ名」にsourceforgeのユーザー名とプロジェクト名を入力します。カンマ区切りで「USERNAME,PROJECTNAME」とします。
- ネットワークの環境によっては、接続¥Proxy カテゴリを設定します。
- 接続¥SSH¥認証カテゴリの「認証のためのプライベートキーファイル」にプライベートキーファイルを指定します。
- セッションカテゴリ内の「保存されたセッション」にsf-webなどと任意の名前を入力し、保存ボタンをクリックし、putty.exeを終了します。以上で初期設定は完了です。
接続
- psftp.exeを起動します。
- 事前に保存したセッション名をopenコマンドに続けて入力します。( >open sf-web など)
- パスフレーズを入力して、接続完了です。
emacsの日本語設定
コンソール上でファイルを閲覧・編集する場合、そのままではSJISのファイルが文字化けしてしまいます。
Emacsを利用する方は、.emacs ファイルに以下を指定します。
※日本語に対応したPuttyを使用して、文字コードの設定がUTF-8(CJK)になっている必要があります。
(set-language-environment 'Japanese)
(require 'un-define)
(set-default-coding-systems 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)