Я SSHing на Linux-машину, используя PuTTY и пытаюсь скопировать файл куда-нибудь (где угодно) на мою локальную машину. Я понять SCP является лучшим кандидатом на работу , но на самом деле не волнует, так долго , как решение работает!
Я cd
в каталог, содержащий файл, который я хочу ( app.war
) и введите следующее:
scp app.war ./
Я пробовал оба безрезультатно:
scp app.war ./C:/Users/myUser/
scp app.war ./Users/myUser/
Это заставило меня задуматься о том, что, возможно, SCP является клиент-серверным инструментом и требует клиента на моей машине с Windows, которого там нет.
Я просто использую неправильный синтаксис? Или я далеко от базы? Если да, какие варианты у меня есть? Заранее спасибо!
scp some_file user@host:/c/temp
Ответы:
чтобы вы могли копировать файлы обратно в Windows, вам нужен SSH-демон / служба, работающий в Windows, вместо этого гораздо проще использовать этот инструмент, у него есть возможность импортировать сессии из Putty, очень простого клиента любить это!
WinSCP :: Бесплатный SFTP и FTP-клиент для Windows
источник
WinSCP
это хорошее решение для этой задачи.Ты прав. SSHD - это службы сервера SSH, которые работают на хосте. Он принимает соединения от клиентов SSH (например, PuTTy), клиентов SCP и клиентов SFTP.
Вы можете скачать
pscp
с того же сайта, где размещается PuTTY .На компьютере с Windows вы должны выполнить команду, аналогичную
pscp.exe someuser@somehost.com:/path/to/app.war c:\tmp
источник
Для SCP-файла на компьютер с Windows вам необходим сервер SSH / SCP в Windows.
По умолчанию в Windows нет поддержки SSH / SCP. Вы можете установить сборку Microsoft OpenSSH для Windows ( Релизы и Загрузки ). Он доступен в качестве дополнительной функции в Windows 10 версии 1803 и новее. Он также может быть установлен вручную в старых версиях Windows.
Я подготовил руководство по настройке SSH / SFTP-сервера в Windows, используя эту сборку Microsoft OpenSSH .
См. Также IIS SFTP изначально поддерживается Windows?
Хотя, когда вы подключаетесь по SSH к серверу Linux с компьютера с Windows, вы фактически можете загрузить файл с сервера Linux на сервер Windows вместо того, чтобы пытаться загрузить файл с сервера Linux на сервер Windows.
Если у вас есть SSH-доступ из Windows в Linux, у вас также есть SCP-доступ (или даже лучше SFTP-доступ).
Используйте любой доступный клиент SCP / SFTP.
Вы можете использовать WinSCP SFTP / SCP-клиент , который имеет графический интерфейс и интерфейс командной строки .
Другой альтернативой является набор инструментов PuTTY, который включает
pscp
инструмент командной строки с синтаксисом, похожим на команду OpenSSHscp
. Кроме того, последние версии Windows 10 поставляются соscp
встроенным OpenSSH и могут быть установлены на более старые версии.(Я автор WinSCP)
источник
pscp
он функционально идентичен OpenSSHscp
, который уже доступен во всех / большинстве дистрибутивов.Windows 10 теперь имеет встроенный OpenSSH. Https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
Получить командную строку администратора
Проверьте доступные версии
Установить клиент
Установить сервер
Запустите сервер и включите при загрузке
Найдите свой IP-адрес Windows
На вашем удаленном (Linux) компьютере найдите свой IP-адрес.
Создать открытый ключ SSH
Скопируйте открытый ключ с локального (Windows) на удаленный (Linux) компьютер, чтобы вам не приходилось постоянно вводить пароль.
Обратите внимание, что ssh-copy-id в настоящее время недоступен в Windows.
Сделайте то же самое на вашем Linux-компьютере (обратите внимание, ssh-copy-id не работает)
Описанный выше метод не сработал для меня, поэтому я в конечном итоге вручную скопировал открытый ключ и вставил его в файл C: /Users/YOU/.ssh/authorized_keys.
Это все еще не работало, поэтому мне пришлось изменить файл sshd_config.
Откройте Блокнот как Администратор
Откройте% programdata% \ ssh \ sshd_config
Добавьте следующие строки:
Создайте пароль в Windows, если у вас его еще нет
- Обратите внимание, что вы по-прежнему можете отключить экран входа в Windows: а) установив параметр «Требовать вход» никогда и б) используя команду «netplwiz» и сняв флажок «Пользователи должны ввести пароль ...».
Теперь вы должны иметь возможность SSH или SCP с вашего компьютера Linux
источник
Вы можете сделать это с помощью подсистемы Linux Ubuntu для Windows (необходимо включить это как функцию Windows). Затем вы можете использовать клиент терминала Linux, который работает в Windows, получив его из Магазина Microsoft (например, Ubuntu 16.04 LTS). Затем, если у вас настроена защита ssh для удаленного доступа к вашей машине Linux, вы можете
scp
с локального терминала Windows Ubuntu (если вы вошли в систему как имя пользователя, которое вы задали для своего экземпляра Linux) примерно так:scp -i ~/.ssh/my_rsa username@11.11.11.11:~/myfile ~/
... введите кодовую фразу RSAУдаленный файл будет скопирован в вашу локальную файловую систему Ubuntu, используемую Windows, например
C:\Users\my.username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\my_linux_username
источник
scp(.exe)
встроен. Вам не нужно ничего устанавливать.Шаг 1. Загрузите файл pscp
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
(в зависимости от версии вашего компьютера загрузите соответствующую версию).
Шаг 2. Знакомство с командами pscp.
Для этого откройте командную строку на своем компьютере с Windows, перейдите в каталог, в который вы скачали pscp.exe, и введите «pscp».
Шаг 3: Перенесите файл с вашего компьютера с Linux на компьютер с Windows,
откройте командную строку и введите следующую команду, указав ваши данные:
pscp usernameofyourlinuxmachine@10.40.000.000:/path/of/your/File/nameofyourfile.txt ./
и эта команда передаст файл с вашего компьютера с Linux в текущий каталог вашего компьютера с Windows
Шаг 4: Перенесите файл с вашего компьютера с Windows на компьютер с Linux,
откройте командную строку и введите команду ниже, указав ваши данные:
pscp nameofyourfile.txt usernameofyourlinuxmachine@10.40.000.000:/path/where/youwantyourfile
Я надеюсь, что это понятно и работает для всех вас!
источник