SSHの接続先を保存する・踏み台・ファイル転送
config、IdentityFile、ProxyJump、ssh-agent、SFTP・SCPの基本設定です。
接続元の.ssh/configに接続先名、ユーザー、ポート、鍵を保存すると、ssh work-serverのように短く接続できます。既存ファイルへ追記し、ほかの接続先の設定は残してください。
このページの内容
configの保存先を確認する
Windows標準OpenSSHはユーザープロファイルの.ssh/config、macOS・Linuxは~/.ssh/configです。config.txtではありません。WSLやGit付属のSSHは別のホームを参照する場合があります。
多くの設定は最初に採用された値が使われるため、個別のHostを先に、Host *の共通設定を後ろに置きます。~/.ssh/configは接続元用、sshd_configは接続先サーバー用です。
接続先と使う鍵を保存する
host.example、user、鍵のパスを置き換えてconfigへ追記します。MAME TOOLSから保存した鍵を使う場合、IdentityFileはその秘密鍵のファイル名です。.pubを指定しません。
Host work-server
HostName host.example
User user
Port 22
IdentityFile ~/.ssh/id_ed25519_mame_tools
IdentitiesOnly yes有効な設定と接続を確認する
ssh -Gはその接続先に適用される設定を表示します。hostname・user・port・identityfileを確認してから接続します。コマンドラインで別の値を指定するとそちらが優先される場合があります。
ssh -G work-server
ssh work-server踏み台サーバーを経由する
踏み台と接続先の両方で認証が必要です。踏み台は接続元から、内部サーバーは踏み台から到達できる構成にします。以下をconfigへ追加し、ssh internal-serverで接続します。
通常のProxyJumpでは秘密鍵を踏み台へコピーせず、接続元で保持できます。AgentForwardingを有効にする必要もありません。踏み台側でTCP転送を許可するかは運用ルールに従います。
Host jump-server
HostName jump.example
User jumpuser
IdentityFile ~/.ssh/id_ed25519_jump
IdentitiesOnly yes
Host internal-server
HostName 10.0.0.10
User appuser
IdentityFile ~/.ssh/id_ed25519_internal
IdentitiesOnly yes
ProxyJump jump-serverssh-agentを使う場合
ssh-agentはパスフレーズを入力して解除した鍵を扱うための仕組みです。使わなくても-iで接続できます。macOS・Linuxでは既存のセッションのagentを先に確認し、むやみにagentを増やしません。
Windows標準のssh-agentを使う場合は、管理者がサービスの開始方法を設定します。鍵を登録するssh-addは、その鍵を使う通常ユーザーで実行します。ssh-add -dで特定の鍵をagentから外しても、接続先のauthorized_keysは削除されません。
ssh-add -l
ssh-add ~/.ssh/id_ed25519_mame_tools
# agentからこの鍵だけを外す場合
ssh-add -d ~/.ssh/id_ed25519_mame_toolsSFTP・SCPでファイルを転送する
configの接続先名はSFTP・SCPでも使えます。sftp work-serverでSFTPを開き、put・getなどを選んで操作します。byeで終了して接続元のシェルへ戻ります。SCPは下の例で手元のsample.txtを接続先へコピーします。同名ファイルを上書きするため、保存先を先に確認してください。
接続先名を使わずポートを直接指定する場合、sshは小文字-p、scpとsftpは大文字-Pです。SCPはOpenSSHの版によってSFTPを使うため、SSHログインが成功してもSubsystem設定によって転送が失敗する場合があります。
scp ./sample.txt work-server:./sample.txt設定や鍵を使わなくなったら
不要なHostブロックだけをconfigから外します。鍵を廃止するときは接続先のauthorized_keysからも該当する公開鍵を削除してください。既存の接続先やknown_hostsをまとめて消す必要はありません。
参照した公式資料
- OpenSSH:接続元の設定
- OpenSSH:ssh
- Microsoft:WindowsのOpenSSH設定
- Microsoft:Windowsの公開鍵認証とACL
- OpenSSH:sftp
- OpenSSH:scp
- OpenSSH:ssh-add
資料確認日:2026年9月12日。公式資料と一般的な確認手順をもとに作成しています。すべてのOS・ルーター・ゲームの組み合わせを実機検証したものではありません。