2013-08-20 2 views
-1

Легко просто scp с другого компьютера на локальный или наоборот. Однако как это сделать, когда вы уже перешли на другой компьютер?Как указать локальный компьютер, когда он уже отправлен на другой компьютер?

[email protected]:~/$ssh ~/path/file (how to specify local computer?):~/localpath/file 

Обратите внимание, что мой компьютер персональный ноутбук, вместо сервера, поэтому ответы здесь Download files to local drive when sshed не применяются, так как он требует, чтобы указать доменное имя, и мой ноутбук не сервер.

Итак, какой правильный способ указать мой локальный компьютер? (Пожалуйста, не говорите exit ssh, а затем scp, так как он может потерять временные данные при работе)

+0

Насколько я знаю, когда вы являетесь SSH'd на другой машине, ваш терминал является виртуальным «расширением» этой машины и не может получить доступ к вашей локальной файловой системе. Вы можете попытаться получить шлейф ssh и вернуть машину ssh'd в ssh обратно на локальную машину, хотя для этого вам потребуется установить openssh. Возможно, я ошибаюсь, но я уверен, что вы не можете получить доступ к своей машине из той же оболочки, которую используете в ssh, на другую машину. – Zak

+0

Все это возможно при переадресации портов, но вам нужно уточнить, что вы хотите сделать , Назовите свой ноутбук 'A' и две удаленные системы' B' и 'C'. Объясните, как именно вы подключены и где хотите копировать файлы с и до. –

ответ

0

Вам не нужно выходить из ssh, вы можете запустить scp с другого виртуального терминала на своем ноутбуке.

Для удобства вы можете попробовать подключиться к совместному использованию, чтобы избежать необходимости вводить пароли; вы можете использовать ssh -M или изменить ~/.ssh/config. Подробнее см. Man ssh и man ssh_config.

0

С помощью SSH'ing во вторую машину вы теряете контекст своей первой. Для передачи файлов второй машине необходимо будет до scp файлов к первому или использовать другой (но похожий) подход, такой как sshfs.

Если проблема в том, что вторая машина не имеет сетевого доступа к первой, то туннелирование является вероятным решением. Тем не менее, это просто активировало scp или sshfs для подключения - это не позволяет вашим сеансам доступа ssh к вашим путям или переменным с вашей локальной машины.

0

Хотя ваш компьютер не имеет имени домена, он по-прежнему имеет IP-адрес, поэтому вы можете подключиться к IP-адресу. Вы можете получить адрес из переменной SSH_CLIENT. См. How to get the IP address from $SSH_CLIENT.

Очевидно, что для ssh или scp для вашего компьютера вам необходимо запустить SSH-сервер. Что не является обычным явлением, если вы используете Windows, в частности.

Смежные вопросы