sith github neden git kullanıcısını gerektiriyor?


1

Aşağıdaki komutu çalıştırmaya çalışıyorum:

ssh -vT git@github.com

İlk önce işe yaramadığını fark ettim (izin reddedildi), çünkü kişisel github hesabımda kayıtlı ortak bir anahtarım yok. Açık anahtarımı kişisel github'uma kaydettikten sonra ssh komutu çalışıyor. Bununla birlikte, gitbu ssh'nin kullanıcıyı içerdiğini ve github'un, gitkullanıcının kimliğini doğrulamak için genel anahtarımı kullanmasına rağmen kullanıcının kullanılmasını gerektirdiğini fark ettim .

https://help.github.com/articles/error-permission-denied-publickey/

Uzak URL'ler için olanlar da dahil olmak üzere tüm bağlantılar "git" kullanıcısı olarak yapılmalıdır. GitHub kullanıcı adınızla bağlanmayı denerseniz, başarısız olur.

Burada neler oluyor? Giriş yapıp gitkendim olarak mı giriyorum?

Yanıtlar:


0

Kısa cevap - siz de giriş yapıyorsunuz (veya Github'a erişiyorsunuz).
Hafif ayrıntı: kullandığınız SSH anahtar çifti tarafından doğrulanan kimlik olarak erişiyorsunuz.

Github'a web üzerinden (tarayıcıda) erişmek için bir kullanıcı adı / şifre kombinasyonu kullanın. Oysa SSH üzerinden erişirken, şifrenizi veya bu konuda kullanıcı adınızı kullanmadınız. Sizden kimliğiniz nasıl onaylanır (?).

SSH anahtar çiftinin girdiği yer burasıdır. Anahtar çiftinin burada nasıl çalıştığı ile ilgili detaylara girmeden kullanıcı adının / parolanın nasıl değiştirildiğini açıklayacağım (bununla ilgili yeterli belgeler var).

Bu cevabı basit tutmak için, SSH açık anahtarınızı, şifre gibi davranan eşleşen SSH özel anahtarıyla doğrulanacak kullanıcı adı olarak düşünebiliriz. SSH'nin çalışma şekli kullanıcı adı / şifrenin çalışma şeklinden farklı olsa da, sonuç benzerdir (siz Github tarafından tanımlanır ve doğrulanırsınız).

Github, gitbu SSH tabanlı kimlik doğrulamasını gerçekleştirmek için genel kullanıcı adını kullanır .

Bu ortak anahtarı, kullanıcı adınız / şifrenizle erişiminiz ile giriş yaptıktan sonra Github hesabınızda yapılandırdınız. Bu, güvenli erişim ile sınırlı bir işlemdir. Yalnızca bu erişime sahip bir kişi ortak anahtarı ayarlayabilir.

Bu ortak anahtarla eşleşen özel anahtar (bu tartışmadaki şifreniz) güvenli bir şekilde git clone komutunu kullandığınız parola korumalı oturum açmadadır.

Bu nedenle, oturum açma işleminizden SSH üzerinden git çağrısı yaptığınızda, SSH protokolü, Github'ın bu erişimin hesabınızdaki ortak anahtar kurulumunun sahibi tarafından yapıldığını doğrulamasını sağlar. Geçişli olarak, o Github hesabının sahibi.


Github uses the generic git username to accomplish this SSH based authentication.. Anladığım kadarıyla myusernameözel / ortak anahtar çifti kullanılıyorsa, ancak gitsadece bir yer tutucusu varsa veya hala geçmesi gereken temel ssh protokolüne bir miktar bağ var usernamemı?
barrrista

1
@barrrista, gitbir kullanıcı adı olarak SSH tabanlı kimlik doğrulaması için bir yer tutucudur. usernameGitHub’ın kullanacağı asıl bu kimlik doğrulama için kullanılan SSH anahtar çiftinden türetilmiştir. Bu, birçok git servisinin SSH tabanlı kimlik doğrulaması için genel bir şemadır ( bunu daha iyi anlamak için bu Gitosis kurulum yardımına bakınız ).
nik

1

SSH ile ilgili olarak, gitkullanıcı olarak giriş yapıyorsunuz . sshdGithub daemon kimlik doğrulamada kullanılan ortak anahtar yerel tanımlayıcı log, ancak bunun ötesinde, sen Github sunucularında işletim sistemi düzeyinde herhangi bir kişisel hesabım yok.

Github SSH servis uygulamasının kendisi farklı bir hikaye. Tarafından bildirilen ortak anahtar tanımlayıcısını görür ve sshdGithub kullanıcı ayrıntılarınızı Github web arabirimi tarafından kullanılan veritabanından almak için kullanır. Sonuç olarak, hizmet size Github hesabınıza uygun erişim hakkı verecek ve daha fazla olmayacaktır.

SSH, işletim sistemi düzeyinde kullanıcı hesaplarıyla ilgilenir : belirli uygulamalar kapsamında kurulan hesaplar hakkında hiçbir şey bilmez.

Github hesabınız örneğin bir MySQL veritabanı hesabına benzer: yalnızca o uygulamanın (veya veritabanı motorunun) bağlamında var.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.