ssh
Tagged:  •    •  

業務の都合上、外部の特定ユーザ向けにリポジトリを公開する必要があったりするのですが、そのときに悩ましいのがセキュリティです。大抵は ssh で接続してもらうことが多いのですが、以下の要件が求められた場合にちょっと工夫が必要です。

  1. リポジトリ操作のコマンド実行ができること
  2. ログインはできないこと

さてどうしようかということで、scponly をいじってみることにしました。

Tagged:  •  

折角 ssh-agent との連携を強化しても、 専用のターミナルソフト(PuTTY UTF-8 TeraTerm Pro with TTSSH2Poderosa(旧 VaraTerm)等)は ssh-agent と連携できないどころか、 ssh 設定(~/.ssh/config)の共有すらできません。

しかし rxvt は日本語化パッチが必要ですし、 日本語ダメ/編集機能ダメな Cygwin コンソールは論外でしょう。

おまけに、 近年は telnetd が導入されていないサーバも多く、 ssh ポートフォワード + ターミナルソフトという選択肢も余命わずか、 といったところです。

Tagged:

sshd_config の Match 指定を使うことで、いくつかの設定を選択的に上書きすることが可能になっています。

OpenSSH 4.6 以降では PasswordAuthentication に適用することができたので、接続元ネットワークにより認証方式を切り替える動作を試してみました。

Tagged:  •  

セキュアなサーバアクセスを行う上で SSH アクセスは非常に便利ですが、 パスフレーズ入力が面倒という側面があります。

この問題は ssh-agent の併用により軽減されますが、 ssh-agent 連携が環境変数ベースで実現されていることから、 複数の Cygwin コンソール(の bash)間で ssh-agent プロセスを共有するには、 (1)ssh-agent 共有のための環境変数設定をファイルに書き出し、 (2)~/.bashrc で読み込む、 といった対処が必要となります。

しかも、bash を経由せずに直接 ssh プロセスを起動するような場合、 書き出された環境変数設定を読み込む契機がありません。 また、tty を持たない状況下でそのような実行が行われた場合、 Cygwin における tty 誤認によりパスフレーズ入力待ちでブロックされてしまい、 ssh から実行が戻ってこないという事態になります。例えば:

Tagged:  •  

ssh の man では:

tty を持たない代わりに、 DISPLAY および SSH_ASKPASS 環境変数が設定されている場合、 SSH_ASKPASS により指定されるコマンドを用いて、 パスフレーズの問い合わせを行う

とありますが、 OpenSSH と Cygwin の組み合わせによっては、 この仕様通りの振る舞いとならない場合があります。

Syndicate content