Configuring Address Family for SSH Connections
in networking ssh, ipv6
I recently enabled IPv6 on my home router and decided it was a good time to try and connect to my server using IPv6, rather than IPv4. However, on my Macbook, running High Sierra (the highest version supported), the SSH client would default to using IPv4 to connect.
Obviously, I don’t want to disable IPv4 altogether, as there are still sites which are IPv4 only. But, at least while I’m at home, I want to force SSH connectivity over IPv6. It turns out that there’s a simple option on the command line to do so.
ssh -6 nirenjan.com
The -6
tells the SSH client to use IPv6 connectivity. If you need to force it
to use IPv4 for some reason, then use -4
instead. It’s also possible to add
the address family preference in ~/.ssh/config
, aptly named AddressFamily
.
Host nirenjan.com
# Use only IPv6
AddressFamily inet6
Host nirenjan.com
# Use only IPv4
AddressFamily inet
Host nirenjan.com
# Use any address family (default)
AddressFamily any