
Мне нужно отправить файлы на сервер с помощью ssh. Я никогда не пользовался ssh, поэтому это меня расстраивает. Я работаю под управлением Windows, а на сервере — под управлением Ubuntu.
Я подключился к серверу, используя ssh2 IP, а затем вошел в систему с учетной записью, которая у меня есть. Теперь я хотел бы отправить свои файлы в папку на сервере, поэтому я перешел в папку и использовал эту команду:
scp test.txt user_name@host_direction server_folder_destination
Он всегда возвращает сообщение о том, что не может выполнить stat над test.txt, файл не существует и т. д.
Я предполагаю, что ssh2 не видит файл в корне моего компьютера (C:), поэтому я попытался указать больше и добавил: C:\test.txt, но появляется та же ошибка. Я не знаю, что происходит.
Можете дать какие-нибудь подсказки?
решение1
scp test.txt user_name@host_direction server_folder_destination
Это неправильный синтаксис. Вам нужно сделать что-то вроде этого:
scp test.txt user_name@host_direction:server_folder_destination
Обратите внимание на :
--, который сообщает scp, что вы хотите скопировать локальный файл 'test.txt' на host host_direction
, подключившись к user user_name
, и сохранить его в server_folder_destination
(который по умолчанию будет относительно домашнего каталога удаленного пользователя). Смотритеупп(1)Более подробную информацию см. на странице руководства.
решение2
ssh
для удаленного запуска команд. Используйте scp
(или sftp
) для передачи файлов на удаленный хост или с него.
# send text.txt from this machine to /destination/path on remotehost
scp test.txt user@remotehost:/destination/path
# get test.txt from /foo/bar on remote host and store it here as foo.txt
scp user@remotehost:/foo/bar/test.txt foo.txt