Также стоит исследовать кабель.
Некоторые Карты памяти будут только работать надежно над любым старым USB-кабелем. Это может произойти из-за длины кабеля, качества и экранирующих проблем. Если кабель, который Вы используете, был поставлен с диском, то да это - вероятно, аппаратная проблема. Вы также примеряете другой компьютер, возможно, даже выполняя другую ОС для устранения проблем с версией/драйвером устройства ядра, которую Вы используете.
Если вы выполняете эту команду scp на удаленной машине, она ищет [11594]file.ext[11595] как "локальный" файл, т.е. [11596] на удаленной машине. [12100]Для копирования файла с удаленной машины на локальную, используйте [11598]scp -P 2222 username@domain:dir/file.ext localdir[11599] (предполагая, что [11600]file.ext[11601] находится в [11602]~/dir[11603] на удаленной машине, как в вашем примере). Если вы запустите [11604]scp[11605] на удаленной машине, поменяйте местами "локальный" и "удаленный"..
Когда я пытался запустить его с именем пользователя@local:/директория_файла....
Я получил следующую ошибку:
ssh: local: node name or service name not known
На моем Mac для установки локального ssh
:
'Системные настройки' --> 'Интернет и сети' --> 'Совместный доступ' --> ENABLE 'Удаленный вход'
Затем было указано имя пользователя@ip-адрес.
Я предлагаю два метода загрузки / выгрузки файла между удаленным и локальным компьютером (я использую Mac air):
В этом случае я хочу вверх / вниз «11.jpeg» между локальным и удаленным:
1.
Скопируйте файлы из службы в локальный каталог: для выполнения этой команды вы должны находиться в локальном терминале bash, а не в ssh!
scp username@domain:/home/xxx/xxx/11.jpeg /Users/username/Desktop/
копировать файлы из локального каталога в удаленную службу: также вы должны быть в локальном терминале bash
scp /Users/username/Desktop/11.jpeg username@domain:/home/xxx/xxx
Чтобы достичь того же намерения при входе в SSH , вы должны сначала установить «Системные настройки> совместное использование> удаленный вход> все пользователи (я не уверен, что вы должны установить для «всех пользователей», но это работает в этой ситуации) »Mac сообщит вам:« Чтобы войти на этот компьютер удаленно, введите: ssh username @ xxxxxx, затем введите команду ниже:
scp (скрытый) имя пользователя @ xxxxxx: / Users / username / Desktop /
Эта команда выше предназначена для загрузки файла с удаленного на локальный при входе в ssh, просто измените два пути, когда вы хотите загрузить файл.
Решение для копирования файлов с клиента Linux на сервер Linux
Проверьте, работает ли sshd
на вашем сервере, используя :ps aux | grep sshd
Если нет, установите OpenSSH
с помощью sudo apt-get install openssh-server openssh-client
https://www.tecmint.com/install-openssh-server-in-linux/
Перезапустите сервер и убедитесь, что sshd
работает с помощьюps aux | grep sshd
Если вам нужно, вы можете настроить файл /etc/ssh/sshd_config
, но это не необходим для простых конфигураций
убедитесь, что порты открыты, используяnetcat
:nc -v -z 127.0.0.1 22
Чтобы скопировать файлы с клиента Linux
на клиент Linux
, используйте scp следующим образом.scp ~/filename.md username@10.22.33.45:~/folder/filename.md
Чтобы убедиться, что файл был скопирован, используйте ssh username@10.22.33.45
и введите свой пароль.
Решение для копирования файлов из клиента Linux в Windows
Существует несколько клиентов для запуска SSH-серверов в Windows, например:
Установите один из указанных выше серверов и убедитесь, что порт 22 открыт с помощью
netsh advfirewall firewall add rule name="SSH Port 22" dir=in action=allow protocol=UDP localport=22
netsh advfirewall firewall add rule name="SSH Port 22" dir=out action=allow protocol=UDP localport=22
netsh advfirewall firewall add rule name="SSH Port 22" dir=in action=allow protocol=TCP localport=22
netsh advfirewall firewall add rule name="SSH Port 22" dir=out action=allow protocol=TCP localport=22
netsh advfirewall set allprofiles state off
Сравнение этих серверов:
SSH-сервер Bitvise
Обеспечивает почти близкую к родной подсказку cmd
, подсказку powershell
, автодополнение
Предоставляет дополнительные возможности для настройки, если вам нужно расширенное использование
Настройка пользователя для простых нужд равна 0. Я начал 2 минуты, после того, как потратил много времени, пытаясь получить MobaSSH
и OpenSSH
на работу.
Для копирования файлов с помощью scp используйте :scp ~/filename.md username@10.33.44.45:/C/Users/username/filename.md
Бесплатно для личного использования, 99 долларов США для профессионального использования.Из-за столь многих функции и отличная интеграция, цена стоит своих денег.
МобаСШ:
предоставляет оболочку Linux для Windows, в которой используются простые команды Linux, такие как так как ls
, cp
, find
и др., работают, аналогичноMINGW64
вы можете получить доступ к cmd
и powershell
напрямую, набрав cmd
илиpowershell
Плохая поддержка Unicode. Кодировка не правильная. Например, если вы попробуйте запустить интерпретатор Python
, он вылетит. Вам нужно будет изменить кодировку вручную с помощью(https://stackoverflow.com/a/12834315/4752883):chcp 65001
set PYTHONIOENCONDING=utf-8
а затем запустите приглашение Python
Самое замечательное в MobaSSH то, что он имеет очень простой пользовательский интерфейс -и scp
и ssh
хорошо интегрированы. Так будет работа для простых случаев использования
Чтобы скопировать файлы с клиента Linux на сервер Windows,MobaSSH
:использование scp ~/filename.md username@10.33.44.45:/cygdrive/c/Users/username/filename.md
Это связано с тем, что MobaSSH
основан на Cygwin, а его диски отображаются так же, как и дискиcygwin
-s.
Используйте виртуальные машины от Microsoft с установленным OpenSSHv6.7 из https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/, OpenSSHv6.7 уже установлен.
Он очень глючный, и вам придется сильно его настраивать.
Завершение команды не работает
При перемещении курсора по терминалу будут оставаться пустые места
Python не работает
Более поздние версии OpenSSH могли быть улучшены. Кроме того, МС, по-видимому, сделать OpenSSH доступным через «Дополнительные функции»https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
Небольшой вклад, возможно, он поможет таким новичкам, как я :путь к удаленному каталогу должен быть написан так:username@domain:~/remote_directory
Здесь я хочу подчеркнуть, что мы всегда должны добавлять, что:~/
scp
Если вы хотите передать папку, просто zip
ее сначала, мы можем unzip
ее позже.
Со своего компьютера запустите:
$ scp your_path_to_the_file/the_file root@10.145.198.100:~/
Здесь root
— ваша учетная запись, а 10.145.198.100
— IP-адрес удаленного сервера. Мы собираемся скопировать the_file
в папку ~/
на пульте.
$ unzip the_zip_file.zip -d destination_folder
Сегодня у меня была такая же проблема на MAC.
Введите следующую команду:
scp /local-file-path/ /-remote-location-path/