Чи можна передавати файли за допомогою SSH?


32

Я використовую PuTTY в Windows 7 для SSH до своєї шкільної комп'ютерної лабораторії. Чи можу я передавати файли зі своєї машини Windows своєму користувачеві на шкільних машинах за допомогою SSH?


Я голосую, щоб закрити це питання поза темою, оскільки це стосується Windows, а не Unix.
dr01

@ dr01 правда, але у нього є багато оновлень, тому, напевно, варто залишитись для нащадків і рухатися далі.
roaima

Відповіді:


41

Скористайтеся інструментом PSCP зі сторінки завантаження шпаклівки:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

PSCP - версія шпаклівки scp, яка є командою cp (copy) over ssh.

PSCP потрібно встановити на вашому комп'ютері з Windows (щойно завантажившись, насправді немає процесу встановлення. У розділі "Упаковані файли" pscp.exe вже включений). Нічого не потрібно встановлювати на сервери школи. PSCP і scp обидва використовують ssh для підключення.

Щоб відповісти на питання використання з коментарів:

Щоб завантажити з комп’ютера на віддалений сервер:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path

Це дозволить завантажити файл file.txt у вказаний каталог на сервері. Якщо заключною частиною шляху призначення НЕ є каталог, це буде нове ім'я файлу. Ви також можете це зробити, щоб завантажити файл з іншим іменем:

c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path\newname.txt

Щоб завантажити файл з віддаленого сервера на комп'ютер:

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\

або

c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\newfile.txt

або

c:\pscp user@remote:\home\user\some\file.txt .

З самотньою крапкою на кінці. Це завантажить вказаний файл у поточний каталог.

Оскільки коментар занадто далеко вниз, я також повинен зазначити, що WinSCP існує для забезпечення GUI для всього цього, якщо це цікавить: http://winscp.net/eng/download.php


Я, звичайно, нічого не можу встановити на комп'ютерах університету. Чи потрібно мені?
Алекс Мохр

Машина Windows 7 ваша чи ваші школи? Я читав питання, щоб підказати, що ви використовуєте шпаклівку на своєму комп’ютері для підключення до школи. Якщо це так, то вам не потрібно нічого встановлювати на шкільний комп’ютер, але вам потрібно буде на своєму.
SuperMagic

Я використовую свою машину Windows 7. Спасибі! Я знайшов команду wget, і я використав dropbox для передачі файлу, але я пам’ятаю це напевно
Alex Mohr

Ще одне: scp працює обома способами. Ви можете завантажувати, а також завантажувати з ним.
SuperMagic

У мене є проблеми з синтаксисом команди. Це pscp source "path_to_local_file" user@host:path_to_new_location:? Я змусив його працювати з тим, щоб залишити шлях на віддаленій машині порожнім, він просто помістив його в мою кореневу директорію.
Алекс Мор

6

Можливо, вам доведеться використовувати косою рискою прямого переходу (/) для розмови з серверами LINUX / UNIX

c:\pscp c:\some\path\to\a\file.txt user@remote:/home/user/some/path

3

Ви можете просто зібрати багато файлів за допомогою tar:

tar -cz . | ssh me@school -- 'tar -C/path/to/target/dir -xz'

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

Ви можете робити подібні речі для всього, що пише в stdout. catце очевидний вибір:

cat ./localfile | ssh user@remote 'cat >./remotefile'

1
Чудово. Як це зробити в Windows
Joe

@Joe - так само? Можливо <./localfile putty user@remote 'cat >./remotefile'- я забув усі вимикачі на шпаклівку. Але це зовсім близько
mikeserv

1
Версія Windows / PuTTY буде: введіть localfile | plink user @ remote "cat> remotefile"
Адам Хаун

2

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


Не ясно, яке відношення це має до поставленого питання. Якщо тільки це не назва клієнтської програми, а все інше - мотлох.
Том Хант

Можливо, питання змінилося з часом, але це я відповідь, яку я шукав: це програма з gui, яка може переглядати та передавати файли через ssh. Він навіть імпортує налаштування із Putty. Дуже зручний імхо, просто не згадав його ім'я, thx
Еміль Врійдагс,

2

ви можете використовувати команду Windows PowerShell:

scp -P <non-default target ssh port> "<source file>" <username>@<hostname/address>:<destination path>

-P прапор можна пропустити, якщо ssh відкрито на порту за замовчуванням (22)

наприклад:

  • копіювання файлу "ps.key" з хоста Windows через ssh
  • цільова адреса 192.168.88.242, ssh працює на порту 1688
  • цільове ім'я користувача "нік"

команда:

scp -P 1688 "D:\MEGA\ps.key" nick@192.168.88.242:/home/nick/ps.key

Після цього слід підтвердити відбиток цільового ключа (якщо ви раніше не підключалися до цього хоста через PowerShell) і введіть пароль цільового користувача.

перевірена на win10, не потребувала додаткових встановлень


Це не схоже на команду Powershell. Ви впевнені, що це не scpз пакета PuTTY?
roaima

@roaima OpenSSH був доступний як додаткова, але вбудована частина Windows 10 з часу оновлення Fall Creator (пізно 2017) та встановлений за замовчуванням з оновлення у квітні 2018 року. scpКоманда включена.
Боб Саммерс

1
@BobSammers о, так і є. (Шахта замаскована встановленням Cygwin.) Це не Пауершелл, хоча в будь-якому єдиному сенсі. Командний рядок звичайно, але не Powershell.
roaima

Насправді це найпростіше рішення, я просто спробував з PShell на своїй Windows, і він відкриває SSH на RHEL, запитайте пароль, скопіюйте файл і закрийте. І це працює!
Раффау

0

Використовуйте інструмент "Більше порівняння", якщо не ваш гуру командного рядка. Більше Порівняння - це інструмент порівняння папок, який має приємний інтерфейс користувача та дозволяє використовувати файл приватних ключів SFTP та SSH для різних середовищ, у яких ви намагаєтесь увійти. Ось посилання на цей інструмент [ https://www.scootersoftware.com/ freedict1]


0

Оскільки ви вже знайомі з шпаклівкою. Пропоную поглянути на https://mobaxterm.mobatek.net/ . У MobaXterm є все необхідне для віддаленої роботи в Linux з комп'ютера Windows, ssh, sftp, scp, Xwindows. На мою думку, це набагато краще, ніж шпаклівка.


Чи це також безкоштовно (безкоштовно) для особистого користування; наприклад, до SSH до шкільної комп'ютерної лабораторії (як у питанні)?
Pierre.Vriens

так. MobaXterm безкоштовний навіть для комерційного використання, якщо вам не потрібно зберегти 10+ сеансів. Я розробник програмного забезпечення, і безкоштовна версія прекрасно працює для моєї роботи. Для роботи в школі просто продовжуйте.
Cen R.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.