В принципе, вы можете сделать что-то вроде
ssh -R 2222:localhost:22 username@webserver.com
, а затем использовать на своем веб-сервере
git clone ssh://user@localhost:2222/path/to/repo.git/
Это дважды зашифрует ваши данные.
Кроме того, вы можете использовать любой из других протоколов, которые поддерживает git, и перенаправить нужные порты для них.
Вы также можете поместить такой раздел в ~ / .ssh / config:
Host my-server
HostName localhost
ForwardX11 no
Port 2222
Тогда вы можете использовать эту команду клона:
git clone git@my-server:mytools/projectName.git
. (Это позволяет хранить ключ сервера, который не принадлежит localhost
, и делает URL-адрес в вашем git config более понятным.)
Для вашего сервера (как туннельного сервера, так и конечного хоста) вы обычно хотите проходить аутентификацию для каждой авторизации с открытым ключом, для этого вы должны поместить закрытый ключ (например, id_rsa) в каталог ~ / .ssh. (И все файлы, в частности закрытый ключ, должны быть доступны для чтения только вашему пользователю, а каталог - только для вашего пользователя.)
Все это не только для туннеля, но и для общего SSH.