скопируйте с помощью 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:
Джеффри ДеЛео
источник