Как мне скопировать файлы с моего локального сервера на какой-нибудь удаленный сервер, на котором установлен ssh на порте, отличном от порта по умолчанию (22).
Обычно я подключаюсь к серверу, используя
ssh username@remotehost.com -p 2000
blockquote>Теперь мне нужно скопировать файлы с помощью scp
< blockquote>user @ localbox: ~ $ scp ~ / .ssh / id_rsa.pub user@remotebox.remotedomain.tld: ~ / .ssh / id_rsa_localbox.pub -p 2000
blockquote>Но это не работает.
используйте заглавную букву P
(это на странице руководства ...)
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'
Вы можете создать файл ~ / .ssh / config и поместить туда соответствующую информацию для удаленного хоста:
Host remotehost.com
Port 2000
User username
См. Справочную страницу для ssh_config .
Это позволяет вам затем запустить ssh как:
ssh remotehost.com
и scp как:
scp important_file remotehost.com: