Як передавати файли через ssh, поки вже ssh'd на сервер


13

Я передаю файли за допомогою цієї команди

scp <localfile> user@host:<destination>

Наведена вище команда працює лише тоді, коли я не ssh'd на сервері.

Як перенести локальні файли на головну машину, коли я вже ssh'd у ??

Я ssh у використанні ssh user@hostname


2
Яка ОС? Відкрийте інший термінал і скористайтеся командою scp
Impulss

1
це centOS. Ось чим я займався дотепер. Я просто сподівався на щось більш зручне.
Вездесущий

Відповіді:


5

Приємне запитання. scpзнову ж таки, але навпаки. Я це зробив і ось це:

chris@local ~$ ls hos*
hosts
chris@local ~$ ssh remote
Last login: Fri Mar  8 15:52:25 2013 from local
chris@remote ~$ scp chris@local:hos* .
chris@local's password: 
hosts                                              100% 1850     1.8KB/s   00:00    
chris@remote ~$ ls hos*
hosts
chris@remote ~$ 

редагується, щоб додати: як зазначено в коментарях, це вимагає, щоб віддалений комп'ютер мав доступ до локального комп'ютера. І sshd або (openssh-сервер) потрібно встановити і запустити на локальній машині.


3
Це припустимо, що локальна машина доступна з віддаленої, і це не завжди так.
Лоран

Однак, якщо це правда, це буде добре працювати.
daviewales

3

Це допоможе дізнатися, що ви працюєте на хост-машині. Якщо ви використовуєте Linux,

scp user@host:/path/myfile .

повинні працювати.


user @ host - це віддалена машина з того, що я зрозумів під питанням, тому ця команда не буде копіювати файли з локальної машини на віддалену, а з віддаленої на локальну, якщо не SSHed на хості, і скопіює з віддаленого до себе, якщо SSHed.
Лоран

Я думаю, в цьому є певна двозначність. Мені user@hostздається, посилаються на той комп'ютер, яким ви зараз не керуєте. Отже, коли ОП не входить у віддалений комп’ютер, то user@hostце і віддалений комп'ютер. Коли ОП входить у віддалений комп'ютер, тоді user@hostце місцевий комп'ютер. Якщо мої припущення вірні, то ця відповідь має сенс.
daviewales

Саме так я і інтерпретував це запитання, daviewales. Також ви маєте рацію, користувач @ хост представляв би будь-яку робочу станцію, з якої ви зараз не працюєте, на мою думку. Я обговорював, чи варто зробити це більш зрозумілим у своїй відповіді, але вважав, що це буде матися на увазі.
Джош

У будь-якому випадку, навіть якщо користувач @ хост представляє локальну машину, коли користувач увійшов у систему на віддаленій машині (навряд чи, як ОП заявив, що хоче перенести локальні файли на головну машину), це буде працювати лише в тому випадку, якщо локальна машина доступна з віддаленого пристрою увімкнено (зазвичай, якщо вони в одній локальній мережі), а не в сценарії, коли віддалений апарат знаходиться в Інтернеті, а локальна машина не має фіксованого IP-адреси.
Лоран

0

Якщо у вас є зворотний шлях до локальної машини (локальна машина доступна з віддаленого пристрою - як правило, коли обидві машини знаходяться в одній локальній мережі), використання scp з віддаленої машини повинно працювати ( scp local:/path-to-file .).

Якщо локальну машину неможливо дістати з віддаленої (як правило, якщо ваш пульт є VPS в Інтернеті, а ваша локальна машина має динамічний IP), найкращим способом є відкриття нового терміналу на локальній машині та копіювання файлу.

Інший спосіб, більш складний і, звичайно, не потрібен лише для копіювання файлів, - це зробити VPN між машинами (або мережами), щоб обидві машини були доступні від інших, і ви могли використовувати scp з однієї машини або з іншої.


-1

під час входу у віддалену систему (простіше просто записати в розташування файлу) sudo scp file_location / file_name user @ host: file_location

під час виходу з віддаленої системи sudo scp authoried_user @ ім'я хоста: file_location / file_name new_location_on_local_machine

FOOTNOTE: пам'ятайте, коли виходили з віддалених систем, якщо це новий термінал, перший пароль буде паролем sudo, другий пароль буде авторизованим паролем користувача. якщо раніше ви судо-редагували в цьому конкретному терміналі, то вам потрібно лише його авторизований пароль користувача. стежте за цим, це робить його складним.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.