Как я могу автоматически запустить SSH -D туннель при входе в систему для SOCKS прокси?

Я знаю, что если я хочу запустить туннель SSH

ssh -d 9000 user@userserver

Это одно решение для динамического туннеля, который должен быть открыт на порту 9000 для пользователя с именем «user» на хосте «userserver»

Однако, как я могу автоматизировать этот процесс в Ubuntu, чтобы мне не приходилось открывать терминал каждый раз, когда я вхожу в систему и запускаю туннель? Я хочу быть SSH в тот момент, когда я вхожу в систему.

Я знаю, что могу создать файл bash, но мне не нужно будет хранить пароль пользователя моего сервера в виде открытого текста, поскольку мне будет предложено ввести его после начальная команда?

9
задан 25 April 2011 в 19:30

4 ответа

Как насчет использования настройки ssh-ключа, как предложила Source Lab, но настройте свой ключ с парольной фразой и убедитесь, что ssh-agent запущен на вашем компьютере, поэтому его нужно вводить только один раз за сеанс входа в систему. [ 115]

Есть несколько преимуществ, делающих это таким образом: - Вы можете получить автоматический вход без пароля (кроме первой загрузки / входа в систему) всякий раз, когда вы вводите команду ssh - У вашего ключа есть пароль, поэтому он безопаснее - Использование pub / private ключи очень стандартны и будут поддерживаться большинством установок SSH-сервера

Чтобы настроить аутентификацию ключа SSH:

Чтобы использовать ssh-agent / keychain (для кэширования парольной фразы в течение сеанса входа в систему):

Что касается автоматизации создания туннеля при запуске, одна идея может создать быстрый сценарий оболочки, который запускает туннель:

~$ sudo cat <<EOF >> /usr/local/bin/start_tunnel.sh
ssh-add # ensure key is added to agent
ssh -D 9000 user@userserver # substitute real server in here (of course)
EOF
~$ chmod +x /usr/local/bin/start_tunnel.sh

Затем добавьте его в качестве запускаемой программы (Система -> Настройки -> Запускаемые приложения), все равно должно работать!

0
ответ дан 25 April 2011 в 19:30

Я написал небольшой сценарий для этого: https://github.com/PHLAK/Soxy

0
ответ дан 25 April 2011 в 19:30
  1. Настройте SSH-вход без пароля согласно этому ответу :

    • ssh-keygen (вам будет предложено ввести пароль , оставьте это поле пустым)

    • ssh-copy-id user@userserver (введите свой пароль для входа в SSH в последний раз)

  2. Добавить запись запуска для SSH:

enter image description here

enter image description here

0
ответ дан 25 April 2011 в 19:30
sudo ssh-keygen #type Enter everywhere
sudo cat /home/root/.ssh/ id_dsa.pub >> .ssh/authorized_keys

/etc/rc.local добавить строку:

echo "ssh socks 192.168.0.1:8000" ; sudo ssh -fND 192.168.0.1:8000 localhost
0
ответ дан 25 April 2011 в 19:30

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

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