туннель с помощью autossh ведущий себя по-другому, чем та же самая команда с помощью ssh

Вы знаете то, что, все еще нет бэкпорта для PHP 5.2 в официальных Щеголеватых бэкпортах repo.

Я обновил бы Ubuntu до следующего выпуска LTS, 8.04, если возможный; большую часть времени это будет Просто Работать (TM) на месте, но обновление дистрибутива является агрессивной процедурой и должно быть протестировано на аналогичной системе сначала.

Иначе Вы могли попытаться бэкпортировать свои собственные пакеты из репозитория как dotdeb, который может притянуть много другого программного обеспечения, которое Вы не хотите; или установка из источника, который является почти всегда большим усилием, чем вышеупомянутое dist-обновление.

2
задан 5 June 2011 в 05:43
1 ответ

Очень хороший вопрос. Я только что сделал немного тестирования, и оно похоже ssh и autossh рассматривайте заключительную часть "команды" командной строки по-другому. Например:

$ ssh 0 ls -ld /tmp
tom@0's password: 
drwxrwxrwt 16 root root 4096 2011-06-05 11:17 /tmp
$ autossh 0 ls -ld /tmp
d@'s password:

autossh анализирует заключительную команду и интерпретирует флаги, вместо того, чтобы оставить их в покое как ssh делает. В этом случае это интерпретирует -l как флаг для определения удаленного пользователя. В Вашем случае это интерпретирует -D как опция к первому autossh, не второе.

Можно обойти это путем помещения части команды в кавычки. В Вашем примере:

autossh -t -L2000:localhost:2000 user@host1 "autossh -D 2000 differentuser@host2"
3
ответ дан 3 December 2019 в 11:04

Теги

Похожие вопросы