
Мне нужно иметь прокси-сервер socks5 с туннелем ssh с помощью следующей команды:
ssh -p <SSH_PORT> -CnfND 0.0.0.0:<Port> Username@ServerIP
Вопрос в том, как установить пароль для этого соединения?
Как вы можете видеть, каждый может подключиться к серверу, который был вызван приведенной выше командой, зная, что он открыт Port
из-за 0.0.0.0
.
решение1
Чтобы защитить соединение паролем, вы можете использовать аутентификацию с открытым ключом вместо пароля. При таком подходе вы генерируете пару открытого/закрытого ключа на локальной машине, копируете открытый ключ на сервер, а затем используете закрытый ключ для аутентификации соединения.
Вот пошаговое руководство:
- Создайте пару открытого и закрытого ключей на локальном компьютере:
ssh-keygen -t rsa
- Скопируйте открытый ключ на сервер:
ssh-copy-id -p <SSH_PORT> -i ~/.ssh/id_rsa.pub UserName@ServerIP
- Подключитесь к серверу, используя закрытый ключ:
ssh -p <SSH_PORT> -CnfND 0.0.0.0:<Port> -i ~/.ssh/id_rsa UserName@ServerIP
При такой настройке вам будет предложено ввести парольную фразу вашего закрытого ключа (если она была установлена) вместо пароля, а соединение будет установлено только в том случае, если открытый ключ на сервере совпадает с закрытым ключом на вашем локальном компьютере.
Примечание: Обязательно храните закрытый ключ в надежном и защищенном месте, так как любой, у кого есть доступ к закрытому ключу, может использовать его для подключения к серверу.