<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Til on M1CH's Log</title><link>https://blog.m1ch.eu/tags/til/</link><description>Recent content in Til on M1CH's Log</description><generator>Hugo</generator><language>en-us</language><copyright>Michael Klamminger</copyright><lastBuildDate>Thu, 20 Nov 2025 15:06:14 +0100</lastBuildDate><atom:link href="https://blog.m1ch.eu/tags/til/index.xml" rel="self" type="application/rss+xml"/><item><title>Using SSH Config `Match exec` to Route Hostnames Dynamically</title><link>https://blog.m1ch.eu/posts/20251120-ssh_config/</link><pubDate>Thu, 20 Nov 2025 15:06:14 +0100</pubDate><guid>https://blog.m1ch.eu/posts/20251120-ssh_config/</guid><description>&lt;h3 id="why-bother-with-a-fancy-match-block"&gt;Why bother with a fancy &lt;code&gt;Match&lt;/code&gt; block?&lt;/h3&gt;
&lt;p&gt;When you SSH into a fleet of servers that share a naming scheme, you usually end up copying-pasting the same options over and over. A &lt;code&gt;Match&lt;/code&gt; block that tests the host name and then tweaks the connection parameters lets you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Keep a single config file&lt;/strong&gt; that works for every member of the group.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automate proxying or port-translation&lt;/strong&gt; without having to write a wrapper script.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The example below demonstrates the trick.&lt;/p&gt;</description></item></channel></rss>