Я ввійшов у віддалений хост за допомогою PuTTY.
Яка команда для передачі файлів з моєї локальної машини на машину, на якій я ввійшов до системи PuTTY?
Я ввійшов у віддалений хост за допомогою PuTTY.
Яка команда для передачі файлів з моєї локальної машини на машину, на якій я ввійшов до системи PuTTY?
Відповіді:
Можливо, це не пряма відповідь на те, що ви запитуєте, але коли мені потрібно перенести файли через сеанс SSH, я використовую WinSCP , що є чудовою програмою передачі файлів через SCP або SFTP. Звичайно, це передбачає, що ви працюєте в Windows.
sudo
в WinSCP, див. FAQ Як змінити користувача після входу (наприклад, su root)?
c:> pscp ім'я_файлу_користувача @ ім'я_сервера: / шлях / ім'я_файлу_назначення.
c:> pscp листопад2012 wrhse@warehouse.cit.cornell.edu: / mydata / листопад2012.
Насолоджуйтесь
sudo su - user
PuTTY зазвичай постачається з клієнтом під назвою psftp, який ви можете використати для цієї мети. Я не вірю, що ви можете зробити це за допомогою стандартного клієнта PuTTY (хоча я можу довести, що не правий у цьому).
PuTTY надає лише доступ для керування віддаленою машиною. Він не забезпечує прямого зв’язку між двома файловими системами так само, як це робить сидячи за віддаленою машиною.
Немає можливості ініціювати передачу файлів назад до / з локальної Windows із сеансу SSH, відкритого у вікні PuTTY.
Хоча PuTTY підтримує спільний доступ до з'єднань.
Хоча вам все ще потрібно запустити сумісний клієнт для передачі файлів ( pscp
або psftp
), новий вхід не потрібен, він автоматично (якщо увімкнено) використовує наявний сеанс PuTTY.
Щоб увімкнути спільний доступ, дивіться:
Спільне використання SSH-з'єднання між інструментами PuTTY .
Альтернативний спосіб - використання WinSCP, графічного інтерфейсу SFTP / SCP-клієнта. Поки ви переглядаєте віддалений веб-сайт, ви можете будь-коли відкрити SSH-термінал на цьому ж сайті, використовуючи кнопку Відкрити в PuTTY .
Див. Початкове засідання в PuTTY .
За допомогою додаткового налаштування ви навіть можете зробити так, щоб PuTTY автоматично переходив до того самого каталогу, який ви переглядаєте за допомогою WinSCP.
Див. Відкриття PuTTY в тому ж каталозі .
(Я автор WinSCP)
Ви також можете завантажити psftp.exe з:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Під час запуску ви вводите:
open "server name"
Тоді:
put "file name"
(Наберіть help, щоб отримати повний список команд.)
Ви також можете набрати текст, get <file name>
щоб завантажити файли з віддаленої машини на локальну машину.
Якщо це лише один файл, ви можете скористатися наступною процедурою (у шпаклівці):
Редагуйте дозвіл на файл наступною командою: chmod u + x filename.extension
Оскільки ви запитували про в / з, ось трюк, який працює для частини "з". Відкрийте екран «Змінити налаштування ...», термінал, і в розділі «Принтер для надсилання вихідних даних принтера ANSI:» виберіть «Загальний / Лише текст»
Тепер у віддаленій системі запустіть це в один рядок:
tput mc5; cat whatever.txt; tput mc4
Шпаклівка повідомить вас, що файл збережено. Це робить переведення терміналу в режим принтера (tput mc5), друк файлу на екран (cat), а потім вимкнення режиму принтера (tput mc4). Якщо ви не покладете всі команди в один рядок, екран стане замороженим, оскільки Putty зберігає всі вихідні дані терміналу у файл у фоновому режимі.
Якщо ви працюєте в більш обмеженій системі, яка не має команди tput (наприклад, qnap), ви можете спробувати printf "\ x1b [5i" замість tput mc5, а printf "\ x1b [4i" замість tput mc4 .
Команда посередині - це просто все, що друкується на екрані. Тож використовуйте tail -n 10000 blah.log, щоб завантажити останні 10 тис. Рядків файлу журналу, або скористайтесь кодером base64, щоб зіставити двійковий файл із чимось, що можна надрукувати (а потім декодувати у вашій локальній системі):
printf "\x1b[5i"; openssl enc -base64 -in something.zip; printf "\x1b[4i"
Якщо вам потрібно зробити перевірку приватного ключа; у командному рядку (cmd), запустіть
Спочатку;
set PATH=C:\PuttySetupLocation
Другий;
pscp -i C:/MyPrivateKeyFile.ppk C:/MySourceFile.jar ubuntu@55.69.41.155:/home/ubuntu
Крім того, якщо вам потрібні додаткові опції, перегляньте наступне посилання. https://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter5.html
set PATH=C:\PuttySetupLocation
? Чому ви не робите C:\PuttySetupLocation\pscp
безпосередньо? - Навіть якщо ви хочете змінити PATH
, вам слід додати новий шлях, а не скидати його повністю.
Послухайте:
Він рекомендує використовувати pscp.exe
PuTTY, який можна знайти тут: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Прямий переказ, такий як FTP, неможливий, оскільки всі команди під час сеансу надсилаються на сервер.
Передача файлів за допомогою шпаклівки (pscp / plink.exe)
Інсталяція шпаклівки за замовчуванням надає кілька способів передачі файлів. Швидше за все, putty
це ваш шлях за замовчуванням, тому ви можете безпосередньо зателефонувати
putty
з командного рядка. Якщо це не так, можливо, вам доведеться змінити свої змінні середовища. Дивіться інструкції тут:
https://it.cornell.edu/managed-servers/transfer-files-using-putt
Кроки
Відкрийте командний рядок, набравши cmd
Щоб перенести папки з комп’ютера Windows на інший комп’ютер Windows
(зверніть увагу на -r
прапорець, який вказує на те, що файли будуть передаватися рекурсивно, не потрібно їх застібати в архів):
pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" ipython_user@10.15.48.54:/"C:/Program Files (x86)/"
Для передачі файлів з комп’ютера Windows на інший комп’ютер Windows
використовуйте:
pscp -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" ipython_user@10.15.48.54:/"C:/Program Files (x86)/"
Іноді, можливо, ви лише plink
встановили. plink
потенційно може використовуватися для передачі файлів, але найкраще обмежуватися простими текстовими файлами. Він може мати невідому поведінку з двійковими файлами ( /superuser/1289455/create-text-file-on-remote-machine-using-plink-putty-with-contents-of-windows-lo ):
plink -i C:/Users/username/.ssh/id_rsa.ppk user@host <localfile "cat >hostfile"
Для передачі файлів із сервера Linux на комп'ютер Windows на комп'ютер Linux використовуйте
pscp -r -i C:/Users/username/.ssh/id_rsa.ppk "C:/Program Files (x86)/Terminal PC" username@10.15.48.16:/home/username
Щоб усі вони працювали, потрібно мати відповідний відкритий / приватний ключ. Щоб сформувати це для шпаклівки, див. Https://superuser.com/a/1285789/658319
Таким чином, у Windows pscp дозволяє завантажувати безпосередньо (без будь-якого запиту на, наприклад, прийняття ключа):
pscp.exe -scp -pw 'my_pw' -v -i my.ppk -l root -batch -sshlog logfile19.txt -hostkey ba:2e:4d:12:68:82:19:a1:d2:22:bc:12:c2:1a:44:a7 hallo4.txt root@10.10.10.10:/srv/www/htdocs/xml_parser/hallo4.txt