Я могу использовать ssh с сервера на локальный компьютер, но не с компьютера на server

Я могу успешно использовать ssh с моего локального компьютера на удаленный сервер в другой сети. Но обратное соединение не работает (с сервера на локальный компьютер). Мне нужно перенести большие файлы с сервера на мой локальный компьютер, и для этого я хотел использовать scp, но перед этим я думаю, что первым делом нужно заставить работать ssh. пожалуйста, помогите.

1
задан 26 June 2021 в 18:36

2 ответа

Я бы рекомендовал использовать rsync вместо scp.

rsync дает гораздо большую скорость, а также возможность возобновления в случае, если копирование будет остановлено в промежутке.

Pic from stack overflow (источник указан в ссылках)

Использование:

# To copy files from a remote server to local machine
# =======> answer to your question <========================================
rsync -av username@remote.server.com:/path/to/resource /path/to/dst/on/local/machine

# To copy files from local machine to remote server
rsync -av /path/to/dst/on/local/machine username@remote.server.com:/path/to/resource 

# Go through manual pages for more information on rsync
man rsync

Также, если вы используете локального провайдера для интернета, вы можете получить локальный ip-адрес (что-то вроде 192.168.0.{0-254}), а сервер имеет фиксированный IP-адрес (что-то вроде 100.172.34.26).

Таким образом, место назначения имеет уникальное местоположение, доступное с любого ip, но IP адрес локальной машины замаскирован (не раскрыт) для всего интернета, и это причина, по которой вы не можете ssh с удаленного сервера на свою локальную машину.

Ссылки:

0
ответ дан 28 July 2021 в 11:24

Вам не нужно, чтобы сервер заходил на ваш ПК, чтобы отправить файлы с сервера на ваш ПК. Все, что вам нужно сделать, это ввести то, что сказал @steeldriver в своем комментарии (а именно использовать scp user@server:/path/to/bigfile somewhere/on/pc/).

Если вам по какой-то причине все еще нужно зайти на ПК по ssh, вы можете попробовать убедиться, что OpenSSH сервер установлен/установить его.

(Эти инструкции для Windows, так как я предполагаю, что это операционная система вашего ПК, поскольку вы используете winscp)

Найдите Управление дополнительными функциями в меню Пуск, нажмите на верхний результат -> выберите Добавить функцию в верхней части теперь открытой страницы настроек --> введите в поле поиска OpenSSH Sever --> выберите OpenSSH Server --> нажмите установить (1) внизу слева.

После завершения установки вам нужно будет открыть Powshell от имени администратора и ввести Start-Service ssh, чтобы запустить его, или Set-Service -Name sshd -StartupType 'Automatic', чтобы он запускался автоматически.

Для получения дополнительной информации вы можете посмотреть руководство Microsoft здесь.

Это позволит вам принимать SSH-соединения на ПК с Windows 10.

Убедитесь, что служба OpenSSH разрешена через брандмауэр Windows.

Также я хотел упомянуть, что для использования ssh/scp в Windows вам не нужно использовать сторонние программы вроде winscp, поскольку OpenSSH является частью Windows уже несколько лет. Вы можете использовать ssh в Windows cmd так же, как и в Linux Terminal. (Например, ssh @)

2
ответ дан 28 July 2021 в 11:24

Другие вопросы по тегам:

Похожие вопросы: