скопируйте с помощью ssh с портом, отличным от 22


18

Как мне скопировать файлы с локального на какой-нибудь удаленный сервер, на котором установлен ssh на порте, отличном от порта по умолчанию (22).

Я обычно подключаюсь к серверу используя

ssh username@remotehost.com -p 2000

Теперь мне нужно скопировать файлы с помощью scp

user @ localbox: ~ $ scp ~ / .ssh / id_rsa.pub user@remotebox.remotedomain.tld: ~ / .ssh / id_rsa_localbox.pub -p 2000

Но это не работает.


sshfsтоже вариант :)

Ответы:


41

scp --helpили man scpсказал бы, что вариант был -P port. Вы также должны объявить это перед аргументами файла:

scp -P 2000 -i ~/.ssh/id_rsa.pub user@remotebox.remotedomain.tld:~/.ssh/id_rsa_localbox.pub

Я бы тоже не стал доверять ~относительным ссылкам. Используйте полные пути, если можете.

Но если вы копируете идентификаторы, ssh-copy-idтакже есть возможность предоставить опции подключения SSH:

ssh-copy-id -i ~/.ssh/id_rsa.pub '-p 2000 user@remotebox.remotedomain.tld'

// Есть ли способ поиска по страницам man для таких вещей?
Натан Басанезе

2

использовать заглавную P

(это на странице руководства ...)


2

Вы можете создать файл ~ / .ssh / config и поместить туда соответствующую информацию для удаленного хоста:

Host remotehost.com
Port 2000
User username

Смотрите man-страницу для ssh_config .

Это позволяет вам затем запустить ssh как:

ssh remotehost.com

и scp как:

scp important_file remotehost.com:
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.