Я настроил ssh и переадресацию портов маршрутизатора, чтобы я мог ssh подключиться к компьютеру в моей домашней сети, когда меня нет дома. В настоящее время в моем .ssh/configфайле есть две записи: одна, когда я нахожусь в домашней сети, и одна, когда я не:
Host mycomputer
HostName 192.168.X.X
Host mycomputerathome
HostName my.no-ip.dynamic
Это работает, но мне интересно, смогу ли я облегчить себе жизнь. Я надеялся, что есть способ перечислить несколько записей HostName, чтобы в случае неудачи первого из них он возвращался ко второму:
Host mycomputer
HostName 192.168.X.X
HostName my.no-ip.dynamic
Так что сначала он попытается подключиться к узлу в моей локальной сети, а если его нет, он попытается подключиться с использованием моего динамического имени узла no-ip. Я попытался ввести два имени хоста, но запустить ssh mycomputerтолько блоки, ничего не делая.
Я отключил аутентификацию по паролю в пользу ключей, поэтому случайное подключение к компьютеру в локальной сети, когда я не нахожусь в моей домашней сети, не должно рисковать тем, что мой пароль уйдет куда угодно.
Можно ли указать резервный HostNames, чтобы попытаться, если первый не работает?
.ssh/configможно запускать сценарии для определенных свойств. Я знаю, что вы можете с ProxyCommand. Вы можете сделать что-то, как показано в этом Q & A от SF - serverfault.com/questions/401233/… .