⬇ Importing from ~/.ssh/config ⬇ Importing from ~/.ssh/config

⬇ Importing from ~/.ssh/config

Dmitry Machulo Dmitry Machulo

By importing sshconfig, you can instantly add a lot of hosts and related data.

Follow the instruction below to learn how.

⚠️ SSH config import is currently available in the desktop app only.

  1. On the Hosts screen, click +Import.
  2. Click SSH config file and select the config file.
  3. Tick the hosts you’d like to import (see the image below).
  4. Click root group, if want the hosts to be added into a group.
  5. Click Save and Done.

importing.gif

Notes

  • Parameters not present on the + New host screen will be ignored.
  • ProxyCommand is ignored.
  • JumpHost is treated as an item in the host chain.
  • IdentityFile is ignored for apps running in the sandbox (Apple, Snap, Windows stores).

Current limitations

At the moment the feature works well with around 500 hosts per file. If your ssh config is larger than that, you can split it into several files.

Split a large SSH config

Before running one of the scripts below, substitute ssh_config with the name of your config file.

awk '/^Host / { ++hosts; if (hosts % limit == 0) print "# import limit"} {print $0 }' \
hosts=0 limit=500 ssh_config \
| split -p '# import limit' - ssh_config-
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
$host_count=0; $filename=0;
Get-Content .\ssh_config | %{
if ($_ -match 'Host ') {[int]$host_count+=1};
if ($host_count % 500 -eq 0 -and $_ -match 'Host ') { [int]$filename+=1 };
echo $_ >> "ssh_config-$filename"
};

That script generates multiple files using the ssh_config-xx pattern. E.g. ssh_config_aa, ssh_config_ab.

If you’re having any difficulties importing data, please, contact us 👨🏼‍🔧

Add comment

Please sign in to leave a comment.