Могу ли я передавать файлы с использованием SSH?

32

Я использую PuTTY на Windows 7 для SSH в своей школьной компьютерной лаборатории. Могу ли я передавать файлы со своего компьютера под управлением Windows своему пользователю на школьных компьютерах с использованием SSH?

Алекс Мор
источник
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он касается Windows, а не Unix.
dr01
@ dr01 правда, но у него много голосов, так что, вероятно, стоит уйти к потомству и двигаться дальше.
Ройма

Ответы:

41

Используйте инструмент PSCP со страницы загрузки замазки:

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

PSCP - это версия scp с замазкой, представляющая собой команду cp (copy) over ssh.

PSCP должен быть установлен на вашем компьютере с Windows (только что скачанный, на самом деле процесс установки не происходит. В разделе Packaged Files уже включен 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 существует, предоставляя графический интерфейс для всего этого, если это представляет интерес: http://winscp.net/rus/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
ИНДИВИДУАЛЬНЫЙ-IT
источник
3

Вы можете просто скопировать много файлов tar:

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

... который будет рекурсивно сжимать и передавать все файлы в текущем каталоге на локальном компьютере на целевой путь, одновременно распаковывая и расширяя поток на удаленном компьютере.

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

cat ./localfile | ssh user@remote 'cat >./remotefile'
mikeserv
источник
1
Отлично. Как это сделать в Windows
Джо,
@ Джо - так же? Может быть <./localfile putty user@remote 'cat >./remotefile'- я забыл все шпаклевки. Но это довольно близко
mikeserv
1
Версия для Windows / PuTTY будет такой: введите localfile | plink user @ remote "cat> remotefile"
Адам Хаун
2

Вы можете использовать WinSCP для этого. Это намного проще, чем другие перечисленные инструменты, он обеспечивает простой интерфейс перетаскивания.

Пол Грант
источник
Не ясно, какое отношение это имеет к задаваемому вопросу. Если это не просто имя клиентской программы, а все остальное - мусор.
Том Хант,
Может быть, вопрос со временем изменился, но вот ответ, который я искал: это программа с графическим интерфейсом, которая может просматривать и передавать файлы через ssh. Он даже импортирует настройки из Putty. Очень удобно, имхо, просто не помню его имени,
спасибо
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, не требует дополнительных установок

Trofogol
источник
Это не похоже на команду Powershell. Вы уверены, что это не scpиз набора PuTTY?
Ройма
@roaima OpenSSH был доступен как дополнительная, но встроенная часть Windows 10 после обновления Fall Creator (конец 2017 года) и был установлен по умолчанию с обновления апреля 2018 года. Команда scpвключена.
Боб Сэммерс
1
@BobSammers, да, это так. (Мой замаскирован установкой Cygwin.) Однако это не Powershell, в каком-то едином смысле. Командная строка, конечно, но не Powershell.
Ройма
На самом деле это самое простое решение, я только что попробовал с PShell на моей Windows, и он открывает SSH на RHEL, запрашивает пароль, копирует файл и закрывает. И это работает!
Раффау
0

Используйте инструмент Beyond Compare, если вы не гуру командной строки. Beyond Compare - это инструмент сравнения папок, он имеет приятный пользовательский интерфейс и позволяет использовать файл закрытого ключа SFTP и SSH для различных сред, в которые вы пытаетесь войти. Вот ссылка на инструмент [ https://www.scootersoftware.com/][1]

nless
источник
0

Так как вы уже знакомы с замазкой. Я предлагаю вам взглянуть на https://mobaxterm.mobatek.net/ . MobaXterm имеет все необходимое для удаленной работы в Linux с компьютера Windows, ssh, sftp, scp, Xwindows - все включено. Это гораздо лучше, чем шпаклевка, на мой взгляд.

Cen R.
источник
Это также бесплатно (бесплатно) для не личного использования; например, по SSH в школьную компьютерную лабораторию (как в вопросе)?
Pierre.Vriens
да. MobaXterm бесплатен даже для коммерческого использования, если вам не нужно сохранять более 10 сессий. Я разработчик программного обеспечения, и бесплатная версия отлично подходит для моей работы. Для школьной работы, просто идти вперед.
Кен Р.