Як перенести файл на свій сервер за допомогою PuTTY?


16

під час виклику SCP в PuTTY на вікні Win7, він не дозволяє мені використовувати C: /, але я також не маю уявлення, де на моїй локальній машині він шукатиме файли за замовчуванням. Жоден із програмного каталогу чи каталогу користувачів не працював. Наприклад, я зберігав file.txt поруч із PuTTY.exe, а також у C: \ Users \ Me, але виклик SCP file.txt file.txt file.txt у PuTTY не вдався обидва рази

cp: не може стати stat 'file.txt'

Отже, як я можу перенести файл на свій сервер за допомогою PuTTY?

EDIT: Також виклик SCP file.txt myserver:file.txtдає аналогічну помилку:file.txt: No such file or directory


чи знаєте ви повний шлях до файлу.txt? зробити SCP full-path-to-file.txt myserver: file.txt

Дякую shadow_boi, але ось у чому проблема: використання повного шляху означає c: \, що дає мені помилку ssh: Не вдалося вирішити ім'я хоста c: ім'я чи послуга невідомі
Trindaz

2
Я думаю, ви зайшли в сервер за допомогою шпаклівки і набрали коментар CP, як ви згадали вище? Це питання. Тепер ви перебуваєте на сервері, тому коли ви набираєте C: у сервера немає c-накопичувача

1
Я не думаю, що шпаклівка поодинці може виконати роботу. WinSCP - це приємний інструмент GUI для безпечної копіювання файлів, Putty дуже добре працює для роботи, також використовуючи інструмент командного рядка під назвою pscp.

У мене виникла проблема використання pscp для копіювання файлу через проміжний сервер. Це питання було основою для мене з'ясування. Повні інструкції щодо переходу цього питання до наступного кроку наведені тут superuser.com/q/577663/57649
Скотт

Відповіді:


13

Ви пробували щось подібне

pscp -l user1 c:\ftp\picture.jpg slacker1:/home/user1/pics

Посібник для Putty передбачає

Щоб надіслати (а) файл (и) на віддалений сервер:

pscp [options] source [source...] [user@]host:target

Отже, скопіюйте локальний файл c:\documents\foo.txtна сервер example.comяк користувач fred у файл, який /tmp/fooви введете:

pscp c:\documents\foo.txt fred@example.com:/tmp/foo


Постскрипт

Сторінка завантаження Putty дозволяє завантажувати putty.zip- повний набір інструментів Putty або ви можете просто завантажити потрібні інструменти (у цьому випадку ви, можливо, завантажили putty.exe, але ще не завантажили pscp.exe)


1
У мене встановлена ​​шпаклівка. Здається, я не маю pscp доступний ні в оболонці шпаклівки, ні в локальній оболонці. Не могли б ви пролити трохи більше світла? Звідки ви запускаєте pscp? Ура
JonnyRaa

1
@JonnyLeeds: запускаю його в командному рядку Windows (cmd) з каталогу інсталяції Putty, наприклад, C:\Program Files (x86)\PuTTY\pscp.exeу моєму випадку. Ви можете або поставити повний шлях у подвійні лапки (через пробіли в ньому) або додати каталог у свій% PATH% (див. Інші відповіді тут, як це зробити).
RedGrittyBrick

1
Привіт, дякую за відповідь, але все, що у мене в папці шпаклівки, - це putty.exe, puttygen.exe та файл
PPK

1
@JonnyLeeds: Ви можете завантажити файл pscp.exe з chiark.greenend.org.uk/~sgtatham/putty/download.html або завантажити putty.zip, що містить повний, послідовний набір останньої версії інструментів Putty і замінити. рідкий набір у вас є.
RedGrittyBrick

Чудова відповідь. Ще один примх: ви часто можете використовувати період після двокрапки віддаленого місця, якщо ви не знаєте, куди потрібно відправити файл. Наприклад: pscp -l ім'я користувача C: \ dir \ file.txt сервер :.
TOOGAM

6

Рішення, яке не використовує PuTTY: Підключіться до сервера з FileZilla за допомогою SFTP для передачі файлів.


5

Немає можливості ініціювати передачу файлів назад у / з локальної Windows через сеанс SSH, відкритий у вікні PuTTY.

Хоча останні версії PuTTY підтримують обмін з'єднаннями.

Хоча вам все-таки потрібно запустити сумісний клієнт для передачі файлів ( pscpабо або psftp), новий логін не потрібен, він автоматично (якщо він включений) використовує існуючий сеанс PuTTY.

Щоб увімкнути спільний доступ, див.
Спільний доступ SSH між інструментами PuTTY .


Альтернативним способом є використання WinSCP, клієнта SFTP / SCP-клієнта . Під час перегляду віддаленого сайту ви можете будь-коли відкрити SSH-термінал на тому самому сайті за допомогою команди Open in PuTTY .

Див. Розділ Відкриття сесії в PuTTY .

За допомогою додаткового налаштування ви навіть можете змусити PuTTY автоматично переходити до тієї самої директорії, яку ви переглядаєте з WinSCP.

Див. Відкриття PuTTY у тому самому каталозі .

(Я автор WinSCP)


0

Не вдалося знайти pscp, як було запропоновано вище, і в кінцевому підсумку використовую WinScp.

Це клієнтська програма з графічним інтерфейсом, яка підбирає ваші конфігурації шпаклівки.


chiark.greenend.org.uk/~sgtatham/putty/download.html пропонує pscp.exe та подібний файл psftp.exe. The.earth.li/~sgtatham/putty/latest/x86 / ... (для версії 0.63, яка є останньою версією на момент написання цієї статті) може бути найпростіші для людей , які вважають за краще бути йшли через простий процес установки з допомогою GUI, а файл putty.zip також містить putty.exe та pscp.exe та psftp.exe
TOOGAM,

0
  1. У PSFTP відкрийте папку, в яку потрібно помістити файл.
    Напр. ім'я файлу CD
  2. У командному рядку тип: lcd pathtofolder
    Ex. lcd C: \ Користувачі \ Lyn \ Картинки
  3. Клацніть Enter та введіть: поставте ім'я файлу
    Ex. поставити lynhw1.pdf
  4. Клацніть Enter і файл слід перенести

Сподіваюся, це працює для вас, як і для мене.
Примітка: я робив це в PSFTP за допомогою Putty.

"PSFTP - клієнт PuTTY SFTP - це інструмент для безпечного перенесення файлів між комп'ютерами за допомогою SSH-з'єднання" - http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html

Завантажте PSFTP на веб- сторінці http://www.putty.org/ . Тут можна завантажити шпаклівку.


-2

Якщо ви хочете автоматизувати цей вид передачі файлів за допомогою .bat:

@echo off

set pw=foobemcfoobar

set inp=input.lst

for /F "tokens=*" %%i in (%inp%) do (

echo %%i

echo y | C:\tmp\pscp.exe -C -agent -pw "%pw%" C:\tmp\files\foo.txt root@%%i:/tmp/

echo "=== Accepting SSH, copying ...==="

 )

(де input.lstвказаний текстовий файл із вказаними цілями)


Хоча це можливо стосується теми , це не відповідає на питання.
Я кажу, що відновіть Моніку

Також не пропонуйте людям сліпо приймати ключ хоста за допомогою echo y. Ви втрачаєте безпеку, роблячи це.
Мартін Прикрил

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