Дазвол адмоўлена (ОткрытыйКлюч, GSSAPI-keyex, GSSAPI-з-мікрафонам)

Пасля стварэння асобніка, я магу ўвайсці, выкарыстоўваючы gcutil або SSH. Я спрабаваў капіяваць/ўставіць з ссылкі SSH, пералічанай у ніжняй частцы асобніка і атрымаць тое ж самае паведамленне пра памылку.

42
Вы спрабавалі ўсталёўваць gcutil і працуе gcutil SSH <�імя асобніка> ?
дададзена аўтар Benson, крыніца
Windows, Mac або што на кліенце?
дададзена аўтар Red, крыніца
Google Compute Engine SDK проста поўны памылкі (я мяркую, што гэта ўсё яшчэ ў бясконцых бэта). Я атрымліваю тую ж памылку, калі я спрабую падключыцца да Readhat/CentOS асобнікаў. Debian працуе. Рашэнне: Пераход на іншы правайдэр, перш чым будзе занадта позна (мой выпадак).
дададзена аўтар Anthony Hunt, крыніца
так, я выкарыстоўваю gcutil для стварэння асобніка. капіявання/устаўкі з ссылкі SSH у ніжняй частцы асобніка выкарыстоўваецца gcutil, а таксама.
дададзена аўтар user2416533, крыніца
./gcutil --service_version = "v1beta15" --project = "Splunk-01" SSH --zone = "нам-central1-а" "пра-e1"
дададзена аўтар user2416533, крыніца

9 адказы

Адмоўлена памылка дазволу, верагодна, паказвае на тое, што SSH прыватны ключ аўтэнтыфікацыі не ўдалося. Мяркуючы, што вы карыстаецеся вобраз, атрыманы з вобразаў Debian або CentOS, рэкамендаваных gcutil, гэта, верагодна, адзін з наступных дзеянняў:

  1. У вас няма якіх-небудзь SSH ключы загружаныя ў ваш SSH брелка, і вы не ўказалі сакрэтны ключ SSH з -i варыянт.
  2. Ні адзін з ключоў SSH не адпавядае запісу ў .ssh/authorized_keys для ўліковага запісу, якую вы спрабуеце ўвайсці ў сістэму.
  3. Вы спрабуеце ўвайсці ў ўліковы запіс, якая не існуе на машыне, або спрабуе ўвайсці як корань. (Выявы па змаўчанні адключыць прамой каранёвай лагін -. Большасць SSH грубай сілы атакі супраць кораня або іншых добра вядомых рахункаў са слабымі паролямі)

Як вызначыць, якія рахункі і ключы на ​​экзэмпляры:

Там ёсць скрыпт, які запускаецца кожную хвіліну на стандартных Compute Engine CentOS і Debian вобразы, якія здабывае запіс метададзеных 'sshKeys з сервера метададзеных, і стварае уліковыя запісы (з доступам sudoers) па меры неабходнасці. Гэты скрыпт чакае запіс выгляду «рахунку: \ п» у метададзеных sshKeys, і можа змясціць некалькі запісаў у authorized_keys для аднаго акаўнта. (Або стварыць некалькі уліковых запісаў, калі неабходна)

У апошніх версіях малюнка, гэты сцэнар пасылае сваю выснову ў паслядоўны порт, праз сістэмны часопіс, а таксама лакальныя часопісы на кампутары. Вы можаце прачытаць апошнюю 1Мб паслядоўнага порта вываду з дапамогай gcutil getserialportoutput , які можа быць зручна, калі машына не рэагуе праз SSH.

Як gcutil SSH працуе:

gcutil ssh does the following:

  1. Looks for a key in $HOME/.ssh/google_compute_engine, and calls ssh-keygen to create one if not present.
  2. Checks the current contents of the project metadata entry for sshKeys for an entry that looks like ${USER}:$(cat $HOME/.ssh/google_compute_engine.pub)
  3. If no such entry exists, adds that entry to the project metadata, and waits for up to 5 minutes for the metadata change to propagate and for the script inside the VM to notice the new entry and create the new account.
  4. Once the new entry is in place, (or immediately, if the user:key was already present) gcutil ssh invokes ssh with a few command-line arguments to connect to the VM.

Некалькі спосабаў гэта можа зламаць, і тое, што вы маглі б зрабіць, каб выправіць іх:

  1. Калі вы выдалілі або змянілі сцэнары, якія счытваюць sshKeys , кансоль і інструмент каманднага радка не будуць разумець, што змяненне sshKeys не працуе, і шмат аўтаматычнай магіі вышэй можа ламаюцца.
  2. Калі вы спрабуеце выкарыстоўваць неапрацаваны SSH , ён не можа знайсці свой .ssh/google_compute_engine ключ. Вы можаце выправіць гэта з дапамогай gcutil SSH , або скапіяваўшы SSH-ключ (заканчваецца .pub ) і даданне да sshKeys ўваход для праект або экзэмпляр у кансолі. (Вам таксама неабходна змясціць у імя карыстальніка, верагодна, гэтак жа, як ваша імя ўліковага запісу лакальнай машыны.)
  3. Калі вы ніколі не выкарыстоўвалі gcutil SSH , вы, верагодна, не маюць .ssh/google_compute_engine.pub файл. Вы можаце выкарыстоўваць SSH-кейген , каб стварыць новы SSH публічны/прыватны ключоў і дадаць яго ў sshKeys , як паказана вышэй, або выкарыстаць gcutil SSH для іх стварэння і кіравання sshKeys .
  4. Калі вы ў асноўным з дапамогай кансолі, цалкам магчыма, што імя ўліковага запісу ў sshKeys запіс не супадае з Вашым лакальным імя карыстальніка, вам, магчыма, давядзецца паставіць -l аргумент SSH.
43
дададзена
Ой, што гэта дрэнна адзін. Верагодна, мы павінны зрабіць прапанову ў gcutil SSH каманда, якую вы хочаце ўсталяваць іншы карыстальнік, чым корань, калі вы выкарыстоўваеце нашы стандартныя малюнка. Дададзеная функцыя запыту для адсочвання абнаўлення gcutil.
дададзена аўтар E. Anderson, крыніца
@ User2416533 калі ласка, прыміце адказ, так як гэта вырашыць вашу праблему (акрамя прадастаўлення крэдыту, дзе гэта належнае, ён таксама дапамагае сачыць за якія адказалі на пытанні і якія да гэтага часу без адказу).
дададзена аўтар Misha Brukman, крыніца
Зразумеў працуе. У першай секцыі, # 3 прымяняецца. gcutil спрабуе ўвайсці ў сістэму з правамі адміністратара, які, вядома, адмаўляецца. Прычына, па якой спрабуе ўвайсці як карэньчык я ўсталяваў gcutil на сэрвэры Linux, які быў толькі суперпользователь створаны. працуе gcutil з гэтага сервера Linux у якасці кораня па змаўчанні ў спробе ўваходу на сервер GCE як корань. Выпраўленне заключаецца ў стварэнні новага карыстальніка на сэрвэры Linux, дзе ўсталяваны gcutil і запусціць з дапамогай гэтага карыстальніка, а не кораня.
дададзена аўтар user2416533, крыніца

Я сутыкнуўся гэтае пытанне на працягу доўгага часу. Нарэшце, было пытанне аб SSH-гэтых. Git паўнамоцтвы SSH не былі прынятыя пад увагу.

Выканайце наступныя каманды можа працаваць для вас:

ssh-add
2
дададзена

У мяне была тая ж праблема, і па нейкай прычыне sshKeys ня сінхранізуецца з маім карыстальнікам на экзэмпляры.

Я стварыў іншы карыстальнік, дадаўшы <�моцны> - ssh_user = anotheruser у gcutil каманды.

Gcutil выглядаў наступным чынам

gcutil --service_version="v1" --project="project"  --ssh_user=anotheruser ssh  --zone="us-central1-a" "inst1"
2
дададзена

Пераканайцеся ў тым, што дазволу на вашым хатнім каталогу і на хатняй дырэкторыі карыстальніка на хасце вы падлучаецеся ўстаноўлены на 700 (якая валодае карыстальніка RWX толькі, каб забараніць іншым бачачы падкаталог .ssh).

Затым пераканайцеся, што каталог ~/.ssh таксама 700 (карыстальнік RWX) і што authorized_keys 600 (карыстальнік RW).

Прыватныя ключы ў каталогу ~/.ssh павінен быць 600 або 400 (карыстальнік RW або карыстальнік г)

2
дададзена

Я толькі што перажыў падобнае паведамленне [міна «Permission Denied (ОткрытыйКлюче)»] пасля падлучэння да вылічальніка VM, які я толькі што стварыў. Пасля прачытання гэтай пасады, я вырашыў паспрабаваць яшчэ раз.

У той час ён працаваў. Так што я бачу 3 магчымых прычын для гэтага працаваць у другі раз,

    <�Літый>, які злучае другі раз вырашае праблему (пасля таго, як ключ SSH быў створаны ў першы раз), або </літый>
  • , магчыма, спрабуе падлучыцца да вылічальніка адразу пасля таго, як ён быў створаны таксама можа выклікаць праблемы, якая вырашае сама праз некаторы час, або
  • проста чытае гэты пост вырашае праблему

Я падазраю, што апошняе наўрад ці :)

1
дададзена

Я знайшоў гэтую памылку пры падключэнні асобніка EC2 з SSH. і ён прыходзіць, калі я пішу няправільнае імя карыстальніка.

напрыклад. для Убунта мне трэба выкарыстоўваць Убунту ў якасці імя карыстальніка     і для іншых, мне трэба выкарыстоўваць EC2-карыстальнік.

1
дададзена

Вы не прынялі адказ, дык вось, што працаваў для мяне ў PuTTY :

enter image description here

Не дазваляючы змены імя карыстальніка, я атрымаў прадмет на гэтае пытанне ў якасці памылкі на кампутары шлюза.

0
дададзена

I followed everything from here: https://cloud.google.com/compute/docs/instances/connecting-to-instance#generatesshkeypair

Але ўсё-ткі адбылася памылка і ключы SSH ў маіх метададзеных асобніка не атрымліваюць прызнання.

Solution: Check if your ssh key has any new-line. When I copied my public key using cat, it added into-lines into the key, thus breaking the key. Had to manually check any line-breaks and correct it.

0
дададзена

You need to follow this instructions https://cloud.google.com/compute/docs/instances/connecting-to-instance#generatesshkeypair

If get "Permission denied (publickey)." with the follow command ssh -i ~/.ssh/my-ssh-key [USERNAME]@[IP_ADDRESS] you need to modify the /etc/ssh/sshd_config file and add the line AllowUsers [USERNAME]

Затым перазапусціць службу SSH з

<�Код> перазапуск службы SSH

if you get the message "Could not load host key: /etc/ssh/ssh_host_ed25519_key" execute: ssh-keygen -A

і, нарэшце, перазапусціць службу SSH зноў.

<�Код> перазапуск службы SSH

0
дададзена