様々な SSH の設定

TortoiseSVN で URL を簡単にする方法は、PuTTY セッションの中でユーザを設定することです。このためには、PuTTY で定義済みのセッション SvnConnection を読み込み、Connection タブの Auto login user にユーザ名 (例: svnuser) を設定してください。前述のように、PuTTY のセッションを保存して、TortoiseSVN で以下の URL を試してください。

svn+ssh://SvnConnection/repos

今回、TortoiseSVN が使用する SSH クライアント (TortoisePlink.exe) に、PuTTY のセッション SvnConnection を与えるだけです。このクライアントは、必要なすべての詳細を取得するのに、セッションをチェックします。

執筆時点では、PuTTY は保存された設定のすべてをチェックしていないため、同じサーバ名に対する複数の設定があると、一致した最初のものを使用してしまいます。また、デフォルト設定を編集して保存すると、自動ログインのユーザ名は、保存されません

多くの人は、自分の鍵を格納するのに、Pageant を使用するのを好みます。PuTTY セッションには、鍵の格納機能があるため、Pageant が常に必要というわけではありません。しかし、異なるサーバへの鍵を保存することを想像してみてください。この場合、接続しようとするサーバにより、PuTTY のセッションを何度も編集を繰り返さねばならないでしょう。PuTTY, Plink, TortoisePlink やその他の PuTTY ベースのツールは、SSH サーバに接続する際、接続を開始するのに Pageant が保持しているすべての秘密鍵をチェックするので、この状況下では Pageant は完全に筋が通っています。

このタスクのためには、単に Pageant を実行し、秘密鍵を追加してください。先ほど PuTTY のセッションに定義した秘密鍵と同じにするべきです。Pageant を秘密鍵の格納に使用する場合、PuTTY セッションから、秘密鍵ファイルへの参照を削除できます。もちろん、他のサーバ向けや他のユーザの鍵を追加できます。

クライアントマシンを再起動するたびに、この手順を繰り返したくなければ、Pageant を Windows の自動起動グループに配置しましょう。Pageant.exe のコマンドライン引数として、鍵の完全パスを追加できます。

SSH サーバに接続する最後の方法は、単純に TortoiseSVN で以下の URL を使用することです。

svn+ssh://svnuser@100.101.102.103/repos
svn+ssh://svnuser@mydomain.com/repos

ご覧の通り、保存した PuTTY のセッションを使用せず、IP アドレス (やドメイン名) を接続ターゲットに指定します。ユーザを指定することはできますが、秘密鍵ファイルをどのように見つけるかを尋ねられることでしょう。TortoisePlink.exe は、PuTTY スイートの通常の Plink ツールを改変したものですので、TortoiseSVN はまた、Pageant に格納してあるすべての鍵に対して試行します。

最後の方法を利用する場合、PuTTY にデフォルトユーザ名が設定されていないことを、確認してください。設定されている場合に、PuTTY が接続を切断してしまうというバグ報告を受けています。デフォルトユーザを削除するには、HKEY_CURRENT_USER\Software\SimonTatham\Putty\Sessions\Default%20Settings\HostName を単純にクリアしてください。