Бегущий нож дает мне double @в адресной части

Я не знаю, что случилось с моим настройкой:

[email protected]:~/chef-repo$ knife ssh -a ipaddress 'name:chefnode' 'uptime'        

WARNING: Failed to connect to  -- Net::SSH::AuthenticationFailed: Authentication       failed for user [email protected]@192.168.1.73

failed for user [email protected]@192.168.1.73

В нем есть двойной @. Я не знаю, как это исправить.

Ответ 1

Пока еще не уверен, что происходит, но я считаю, что двойной "@" - это просто сообщение печати (на самом деле он не пытается подключиться к этому хосту). Двойной происходит от:

# net-ssh-multi-1.2.0/lib/net/ssh/multi/server.rb
#
192       rescue Net::SSH::AuthenticationFailed => error
193         raise Net::SSH::AuthenticationFailed.new("#{error.message}@dude#{host}")
194       end

Я так умно добавил слово " чувак", который мы можем увидеть в моем выпуске:

[email protected]:~/chef-repo$ knife ssh 'name:ep1' uptime
WARNING: Failed to connect to ep1.site.com -- Net::SSH::AuthenticationFailed: Authentication failed for user [email protected]@dudeep1.site.com

Похоже на какой-то тип ошибки, но не на нашу проблему. Я продолжу отладку, но, вероятно, что-то похожее на предложение @Carolyn fooobar.com/questions/493152/....

Обновление

Действительно, двойная "@" была полной красной селедкой. Для меня решением было просто указать пароль с помощью --ssh-password (я не установил ключи на удаленной конечной точке).

имя ножа ssh: ep1 'uptime - пароль ss-password

Вероятно, проблема с ключом или паролем. -VV - ваш друг.

Ответ 2

У меня была такая же ошибка; то, что я сделал для его решения, просто добавил -P как часть команды knife ssh, которую я запускал. knife ssh по умолчанию пытается использовать key-auth, если он явно не сказал использовать пароль auth.

Пример неудачной команды: knife ssh "role:*" "uptime" -x <user>

Пример команды с фиксированным ходом: knife ssh "role:*" "uptime" -x <user> -P

Ответ 3

Эта проблема обычно возникает из-за отсутствия правильного файла PEM с закрытым ключом, добавленного к вашему локальному агенту ssh. Выполнение чего-то вроде:

$ssh-add

Ответ 4

Попробуйте выполнить эту команду:

knife ssh 'name:node1.example.com' -P "redhat" chef-client

Здесь node1.example.com - целевая машина. -P пароль пользователя root.

Ответ 5

У вас есть дополнительный поиск в вашей команде. Вы хотите:

knife ssh 'name:chefnode' 'uptime'

Ответ 6

Я столкнулся с одной и той же проблемой. После повторного запуска команды ножа с параметром -VV я мог видеть на выходе отладки, что он не смог загрузить мой ssh-ключ.

could not load public key file `c:/Users/Carolyn/.ssh/id_rsa': Net::SSH::Exception (public key at c:/Users/Carolyn/.ssh/id_rsa.pub is not valid)

Оказывается, мой закрытый ключ был создан PuTTY и не был в правильном формате. Заголовок ключа выглядел следующим образом:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,DA9126F8AA3ED553

После того, как я заменил свой закрытый и открытый ключ ключами, сгенерированными с помощью ssh-keygen, нож работал без проблем. Теперь мой заголовок закрытого ключа выглядит следующим образом:

-----BEGIN RSA PRIVATE KEY-----

Ответ 7

Чтобы решить эту проблему, сначала проверьте клиент node и проверьте, предоставлен ли root-доступ. Проверьте файл /etc/ssh/sshd _config и измените allowrootaccess на "Да". Остановите ssh и снова запустите

либо используйте --sudo вместе с любым именем пользователя и паролем в команде

Ответ 8

Удалите ВСЕ УЗЛЫ В ВАШЕМ ШЕФЕ, ЧТО НЕ ДЕЙСТВИТЕЛЬНО СУЩЕСТВУЕТ (неактивен, шеф-повар не может их достичь и т.д.), и это решит вашу проблему. На самом деле.

Ответ 9

Добавьте открытый ключ рабочей станции в целевой node root.ssh/authorized_keys

Ответ 10

Для меня решение состояло в том, чтобы гарантировать, что у моего локального ssh-agent есть оба ключа к бастионному хосту и целевой node. Как только это было так, работала такая команда. Другими словами:

Учитывая, что я использую хост bastion

И у меня есть две различные пары ключей ssh; 1, чтобы перейти с рабочей станции на хост бастиона, а другой - с узла бастиона в целевые узлы.

И вывод ssh-agent -l с моей рабочей станции

2048 SHA256:yyyyy /Users/me/.ssh/id_rsa (RSA) 2048 SHA256:zzzzz /Users/me/.ssh/internal-vpc-private-rsa-key (RSA)

Когда я запускаю команду, например:

knife ssh "$CHEF_SEARCH_QUERY" interactive \ --config knife.rb \ --ssh-gateway $JUMPBOX_IP \ --ssh-user $SSH_USER \ --attribute 'cloud.public_ipv4'

Затем N интерактивных сеансов ssh устанавливается с целевыми хостами

Ответ 11

Просто введите правильные учетные данные для своего клиента node. я фиксируется добавлением ножа ssh -i "name: *" ""