Вы можете использовать, ~/.ssh/config
чтобы указать порты, которые будут использоваться для хостов (и для настройки многих других полезных вещей; проверьте страницу руководства man ssh_config
):
# ~/.ssh/config
Host 67.12.21.133
Port 6774
Host 67.129.242.40
Port 6774
При этом вы должны использовать опцию -3
scp, которая копирует файлы через ваш локальный компьютер. В противном случае, scp выдает команду scp через ssh на первом хосте, поэтому он на самом деле выполняется
ssh -p 6774 denny@67.12.21.133 scp -rp /home/denny/testapp1.txt denny@67.129.242.40:
и затем ~ / .ssh / config первого удаленного хоста (67.12.21.133) используется вместо вашего локального.
Когда вы настроили ~/.ssh/config
правильно, это должно работать:
scp -rp3 denny@67.12.21.133:/home/denny/testapp1.txt denny@67.129.242.40:
Конечно, вы также можете скопировать содержимое файла ~ / .ssh / config на ваш первый удаленный хост, а затем вы можете использовать scp без -3
опции, которая, вероятно, ускорит передачу.
Или вы можете использовать трюк, который использует scp, и использовать такую командную строку:
ssh -p 6774 denny@67.12.21.133 scp -rp -P 6774 /home/denny/testapp1.txt denny@67.129.242.40:
(Обратите внимание на другой случай параметра порта для ssh и scp: ssh -p 6774
vs. scp -P 6774
)
PS: я получил эту информацию от Bugzilla OpenSSH, где я ввел это как ошибку: https://bugzilla.mindrot.org/show_bug.cgi?id=2020