Конфигурация ssh без запроса пароля

Цель состоит в том, чтобы иметь возможность писать только ssh 10.0.200.9.switch -l customer с моего ноутбука и войти в систему, не запрашивая пароль.

  • Коммутатор находится внутри локальной сети, что означает Laptop --> bastion.example.com --> 10.0.200.9 .
  • Коммутатор не поддерживает ssh-ключи, а только пароль.
  • На моем ноутбуке и сервере бастиона работает OpenSSH 7.2p2.
  • Использую sshpass 1.05 при попытке пропустить подсказку пароля. Является открытым для других решений, если он существует.

Это полурабочее:

 /home/user/.ssh/config configuration 1 Host bastion hostname bastion.example.com port 2222 user root identityfile /home/user/.ssh/id_rsa Match host *.switch user customer ProxyCommand ssh bastion -W $(echo %h | grep -Po '^[0-9.]+[0-9]+' ):%p 

Работает, но запрашивает пароль

 user@laptop:~/.ssh$ ssh 10.0.200.9.switch -l customer customer@10.0.200.9.switch's password: Type 'help' or '?' to get help. Switch# 

Работает и не запрашивает пароль, но больше времени писать в консоли

 user@laptop:~/.ssh$ export SSHPASS=secretPassWord user@laptop:~/.ssh$ sshpass -e ssh 10.0.200.9.switch -l customer Type 'help' or '?' to get help. Switch 

Это не работает:

 /home/user/.ssh/config configuration 2 Host bastion hostname bastion.example.com port 2222 user root identityfile /home/user/.ssh/id_rsa Match host *.switch user customer ProxyCommand sshpass -e ssh bastion -W $(echo %h | grep -Po '^[0-9.]+[0-9]+' ):%p 

Изменения в .ssh/config file не влияют

 user@laptop:~/.ssh$ export SSHPASS=secretPassWord user@laptop:~/.ssh$ ssh 10.0.200.9.switch -l customer customer@10.0.200.9.switch's password: 

2 Solutions collect form web for “Конфигурация ssh без запроса пароля”

Я думаю, что в вашей конфигурации sshpass в ProxyCommand пытается передать пароль SSH-соединению, идущему на bastion , а не к тому, чтобы наконец перейти к коммутатору. sshpass что sshpass вне внешнего ssh ProxyCommand работает:

 laptop$ export SSHPASS=sshhhh laptop$ sshpass -e ssh -o'Proxycommand ssh customer@bastion -W final.target.switch:22' blah@blah 

Поскольку sshpass ставит SSH-клиента в отдельный tty, чтобы обмануть его в принятии пароля от себя, казалось бы, sshpass должен быть запущен до клиента SSH. Поэтому, если ssh запускает sshpass из ssh/config вероятно, не будет работать.

Но нужно сделать сценарий для запуска sshpass и ssh с любыми необходимыми параметрами. Это работает для меня с необходимой конфигурацией в ~/.ssh/config , как и у вас:

 #/bin/bash if [ -z "$1" ] ; then echo "usage: $0 <args...>" ; exit 1 ; fi sshpass -e ssh "$@" 

Вы можете настроить пользователя на вход в .ssh/config , чтобы он мог обойтись без -l . Кроме того, похоже, что sshpass не справляется с ssh спрашивая о неизвестных ключах хоста, поэтому может known_hosts предварительная настройка known_hosts (или использование StrictHostKeyChecking no ).

Другой способ – использовать plink из инструментов для шпатлевки. см. http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Помимо того, что вы можете сделать «plink -pw …», вы можете использовать опцию «-m» для удаленный скриптинг.

  • Удаленная команда в файле конфигурации ssh
  • force ssh изменить каталог после входа в систему на основе конфигурации
  • Конфигурация ssh от Ubuntu 12.04 не работает 14.04.4
  • SSH-Config - Есть ли способ определить, локальный или удаленный?
  • Какая правильная форма ключевого слова SSH HostnameSuffixes?
  • Исправьте настройки файла ssh для туннеля на третий компьютер
  • ssh не распознает имя хоста, указанное в конфигурационном файле
  • Использование ssh -t работает, но с использованием ProxyCommand ssh -W не
  • Возможно ли иметь условные параметры в ~ / .ssh / config в зависимости от вызывающего приложения (ssh или sshfs)?
  • Не удалось согласовать алгоритм ssh
  • Multihop с sshpass
  • Interesting Posts

    Как я могу выяснить, из каких pty из qemu?

    переменная только для чтения TMOUT – обходной путь для автоматического отключения выхода из оболочки, когда нет активности

    Как определяется статус возврата переменной назначения?

    Невозможно FTP в экземпляр Google Compute Engine с помощью Debian

    Как переустановить конфигурационный файл

    Репликация mysql не работает

    Какая рекомендуемая файловая система используется при достижении размеров 50 ТБ?

    ld не может найти существующий 32-разрядный libm

    создание настраиваемой точки монтирования в / для файловой системы

    systemd share cifs "ошибка монтирования (13): разрешение отклонено"

    Что такое wget-идиома для curl -o?

    Как отправить электронную почту из ssmtp с помощью HTML

    Nginx: изображения не подаются в HTTPS

    Экран GNU: как включить или отключить ведение журнала во время установки экрана?

    Пути TCP / IP при использовании нескольких серверов DHCP

    Linux и Unix - лучшая ОС в мире.