Согласно документации для Net :: SSH2 , connect принимает имя хоста. Вы можете получить лучшее сообщение об ошибке, например:
$ssh2->connect('myusername-lnx') or $ssh2->die_with_error;
Я пытаюсь подключиться к своему рабочему linux box ...
Попробуйте нормальный ssh myusername-lnx
. Если это не сработает, то Net :: SSH2 тоже не сработает.
Если вы не на работе, скорее всего, ваш локальный компьютер не знает, что такое хост myusername-lnx
. hostname
возвращает то, что машина называет сама, но это не обязательно то, что знает кто-либо еще. Имя хоста, вероятно, должно быть полностью определено, то есть ему нужна доменная часть, такая как myusername-lnx.somehost.com
. Это все равно что просить "Дженис". На работе может быть только одна «Дженис», но за пределами работы много Дженис, так что вам нужно быть более конкретным.
Даже возможно (на самом деле, вероятно), что с вашей рабочей машиной нельзя связаться извне рабочей сети. Вам может понадобиться использовать VPN , чтобы войти в сеть.
Вам необходимо выяснить, какое имя хоста или IP-адрес использовать. К сожалению, мы не можем вам этого сказать. Вы должны спросить своего сетевого администратора на работе, как получить доступ к рабочему компьютеру вне работы.