Назад | Перейти на главную страницу

Как я могу обратиться к своей машине (клиенту) при удаленном подключении к серверу через ssh?

Это происходит с удивительной частотой:
Я нахожусь на сервере или другом компьютере через ssh. Я хочу, чтобы scp или rsync некоторые файлы возвращались на мою клиентскую машину. Проблема в том, что я нахожусь за брандмауэром, и у меня нет порта, сопоставленного с портом 22 на моей машине.
Было бы здорово, если бы я мог каким-то образом указать псевдоним машины, с которой я подключен, в команде scp или rsync, например:

scp fileToBeTransferred LOCALMACHINE:~/temp/

Мой текущий процесс состоит в том, чтобы выполнить команду с моего локального компьютера (не в сеансе ssh). Было бы намного быстрее запустить команду scp с сервера, потому что я уже нахожусь в правильном каталоге, я могу использовать завершение файла, а мои учетные данные уже проверены.

Моя клиентская машина почти всегда - это Mac, на котором работает Mountain Lion, если это имеет значение.

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

при подключении к удаленной машине добавьте обратный туннель с вариант:

ssh -R 10000:127.0.0.1:22 remoteuser@remotemachine

теперь удаленный порт 10000 сопоставлен с вашим локальным портом 22, и вы можете передавать файлы из удаленного сеанса:

scp -P 10000 yourfile localuser@127.0.0.1:/path/to/target/