Остановить запросы пароля SSH в serverpec
Я нахожусь в среде с токенами аутентификации, поэтому обычно пароль SSH не требуется. Мои тесты серверной спецификации всегда запрашивают у меня пароль. Есть ли способ предотвратить это?
Пароль не требуется:
$ ssh atlspf01
newatson@atlspf01:~$
Тем не менее, в serverpec
$ rake spec
Password:
Соответствующий код в spec_helper.rb
require 'serverspec'
require 'net/ssh'
set :backend, :ssh
...
set :host, ENV['TARGET_HOST']
set :ssh_options, :user => ENV['USERNAME']
ОБНОВЛЕНИЕ: Проблема в том, что net:: ssh не поддерживает аутентификацию Kerberos (gssapi-with-mic). Используйте ssh::ssh::kerberos или используйте ключи ssh.
1 ответ
Решение
В вашей конфигурации вы только передаете информацию о пользователе ssh_options
Предполагая, что ваш целевой хост хранится в переменной среды TARGET_HOST
и имя пользователя хранится в USERNAME
, вы должны сделать что-то вроде этого:
set :ssh_options, Net::SSH::Config.for(ENV['TARGET_HOST']).merge(user: ENV['USERNAME'])