クライアント用にSSH構成をカスタマイズする

Advanced Server Accessでは、Advanced Server Accessの管理者とそのチームの両方に対してSSHカスタマイズオプションを使用できます。ユーザーは、SSH接続を試行する際のクライアントの応答方法を調整でき、管理者は、接続を開始するクライアントに対するサーバーの応答方法をカスタマイズできます。はじめに、ScaleFTクライアントがインストールされていることを確認し、sft ssh-configコマンドを実行します。

クライアントのカスタマイズ

Advanced Server AccessのクライアントとSSH構成に応じて、構成ファイルは次のように表示されます。

# To use ScaleFT proxycommand, add this configuration block to your $HOME/.ssh/config
Match exec "/usr/local/bin/sft resolve -q  %h"
ProxyCommand "/usr/local/bin/sft" proxycommand  %h
UserKnownHostsFile "/Users/Admin/Library/Application Support/ScaleFT/proxycommand_known_hosts"

パスはMacOSの観点で提供されており、フォルダーパスの例として/Users/Admin/が使用されています。マシンによってはパスが異なる場合もあります。

カスタマイズの例

  • sft resolveから-qを削除する

    -qは「quiet」を意味し、ターゲットサーバーに接続中に発生した問題がユーザーに表示されたり、クライアントからの反応を引き起こしたりしないことを示します。これには、ユーザーがログインしていない場合の状態も含まれます。その場合、-qを使用すると、SSHコマンドはホストを検出することができず、Advanced Server Accessでホストのインベントリにアクセスする権限がなくなります。構成ファイルのMatch exec行から-qを削除すると、SSH試行が失敗した後に、クライアントAdvanced Server Accessのプラットフォームにブラウザサインイン要求を送信します。

  • Matchディレクティブのカスタマイズ

    Matchディレクティブをカスタマイズすると、ユーザーはチーム内の各サーバーにおける特定のクライアントの動作を制御できるようになります。カスタマイズされたMatchディレクティブを使用して潜在的なターゲットサーバーを特定することにより、ユーザーは他のカスタマイズオプション(-qの削除など)を組み込んで、クライアントが特定のサーバーへの接続を試行したときに特定のアクションを実行できるように設定できます。

    たとえば、構成ファイルにこのMatchブロックを追加できます。

    Match Host *ubu* "/usr/local/bin/sft resolve -q  %h"
     ProxyCommand "/usr/local/bin/sft" proxycommand  %h
     UserKnownHostsFile "/Users/Admin/Library/Application Support/ScaleFT/proxycommand_known_hosts"

    これにより、「ubu」という文字列を含む名前のサーバーへの接続試行が、Matchブロックのみに記載されたルールに従うというシナリオが作成されます。

  • 経由する特定のBastion (踏み台)を特定する

    別のカスタマイズオプションでは、エージェント構成ファイルsftd.yamlを使用してBastion (踏み台)を構成する代わりに、SSH接続の試行時に動的に経由する必要がある特定のBastion (踏み台)をクライアントに指示します。これには--viaコマンドを使用し、次に示すように、ユーザーの構成ファイルのProxyCommand行にこのコマンドを追加します。

    ProxyCommand "/usr/local/bin/sft" proxycommand --via <bastion> %h

    <bastion>は、特定のBastion (踏み台)名に置き換えます。