IPv6, the newest network address standard for the whole internet, is becoming more widespread and will eventually replace IPv4 entirely. Sooner or later, network admins and computer hobbyists alike will find themselves interacting with IPv6 network addresses.
Simple tasks like using SSH to control a remote system will now change a little, so it’s important to relearn a few of the basics. In this guide, we’ll show how to SSH to an IPv6 address on a Linux system. These methods will work with all the most popular Linux distributions.
In this tutorial you will learn:
- How to SSH to an IPv6 address on Linux
Category | Requirements, Conventions or Software Version Used |
---|---|
System | Any Linux distro |
Software | N/A |
Other | Privileged access to your Linux system as root or via the sudo command. |
Conventions |
# – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command$ – requires given linux commands to be executed as a regular non-privileged user |
SSH to an IPv6 Address
There’s not much of a learning curve when it comes to SSHing to an IPv6 address, but there are a few things to keep in mind. For the most part, you should be able to SSH to an IPv6 address the same way you would to an IPv4. Simply specify the IP in your command, like so:
$ ssh user@2607:f8b0:4009:816::200e
If you encounter an error when attempting an SSH to an IPv6 address, ensure connectivity between the two systems by pinging the IP address. See our guide on how to ping an IPv6 address for help with that.
You also need to make sure that you have an IPv6 address on your system. The IPv6 rollout is still underway, so if your ISP has only given you an IPv4 address, you won’t be able to connect to IPv6. If in doubt, check your local and public IP address with this guide.
If SSHing to a hostname instead of an IP address, you can force SSH to use IPv6 with the -6
option. Many systems currently have both IPv4 and IPv6 network interfaces, and if you don’t specify which one you wish to connect to, the connection may default to IPv4.
$ ssh -6 user@hostname
That’s about all there is to it. SSH will basically function the same whether you specify an IPv4 or IPv6 address. And when specifying a hostname, just use the -6
or -4
options in your command, depending on which network address you wish to connect to. This should work the same across any Linux system, as we’ve personally verified it to work on popular distros like Ubuntu, Debian, CentOS, and Arch Linux.
Conclusion
In this guide, we learned how to SSH to an IPv6 network address on a Linux system. The tricky part is that many systems have both an IPv4 and IPv6 address, so it’s important to know how to force Linux to use IPv6 connectivity with SSH. This guide showed two methods: either specify the IPv6 address or use the -6
option.