Aracılığıyla paylaş


SSH anahtarı kimlik doğrulamasını kullanma

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure DevOps ile güvenli bir şekilde bağlanmak için macOS, Linux veya Windows üzerinde SSH aracılığıyla Git depolarınıza bağlanabilirsiniz.

Önemli

SSH URL'leri değişti, ancak eski SSH URL'leri çalışmaya devam ediyor. SSH'yi zaten ayarladıysanız uzak URL'lerinizi yeni biçimde güncelleştirin:

Güncel SSH URL'leri ile ssh.dev.azure.combaşlar. Önceki URL'ler kullanır vs-ssh.visualstudio.com.

  • Hangi uzak makinelerin SSH kullandığını doğrulayın. Kabuğunuzda çalıştırın git remote -v veya bunun yerine bir GUI istemcisi kullanın.
  • Web'de deponuzu ziyaret edin ve Kopyala'yı seçin.
  • SSH'yi seçin ve yeni SSH URL'sini kopyalayın.
  • Kabuk çalıştırmanızda git remote set-url <remote name> <new SSH URL> , güncelleştirmek istediğiniz bir deponun her uzak alanı için çalışır. Alternatif olarak, uzak URL'leri güncelleştirmek için bir GUI istemcisi kullanın.

SSH anahtarı kimlik doğrulaması nasıl çalışır?

SSH ortak anahtar kimlik doğrulaması, oluşturulan şifreleme anahtarlarının asimetrik çiftiyle çalışır. Ortak anahtar Azure DevOps ile paylaşılır ve ilk ssh bağlantısını doğrulamak için kullanılır. Özel anahtar sisteminizde güvenli ve güvenli tutulur.

SSH anahtarı kimlik doğrulamasını ayarlama

Aşağıdaki adımlar, komut satırını (olarak da adlandırılır shell) kullanarak aşağıdaki platformlarda SSH anahtarı kimlik doğrulamasının yapılandırmasını kapsar:

Not

Visual Studio 2017 itibarıyla SSH, Azure DevOps Git depolarına bağlanmak için kullanılabilir.

İpucu

Windows'da Git Kimlik Bilgileri Yöneticisi veya Kişisel Erişim Belirteçleri'nin kullanılmasını öneririz.

1. Adım: SSH anahtarlarınızı oluşturma

Not

Sisteminizde zaten RSA SSH anahtarları oluşturduysanız bu adımı atlayın ve SSH anahtarlarınızı yapılandırın. Bunu doğrulamak için giriş dizininize gidin ve klasörüne .ssh bakın (%UserProfile%\.ssh\ Windows'da veya ~/.ssh/ Git Bash ile Linux, macOS ve Windows'ta). adlı id_rsa iki dosya görürseniz ve id_rsa.pub sırasıyla SSH anahtarlarınızı yapılandırmaya devam edin.

Anahtar tabanlı kimlik doğrulamasını kullanmak için önce istemciniz için ortak/özel anahtar çiftleri oluşturmanız gerekir. ssh-keygen.exe anahtar dosyaları oluşturmak için kullanılır ve DSA, RSA, ECDSA veya Ed25519 algoritmaları belirtilebilir. Hiçbir algoritma belirtilmezse Ed25519 kullanılır.

Not

Azure DevOps tarafından desteklenen tek SSH anahtar türü RSA'dır.

Azure DevOps tarafından desteklenen RSA algoritmasını (RSA-SHA2-256 veya RSA-SHA2-512) kullanarak anahtar dosyaları oluşturmak için bir PowerShell'den veya istemcinizde olduğu gibi bash başka bir kabuktan aşağıdaki komutlardan birini çalıştırın:

ssh-keygen -t rsa-sha2-256

Or

ssh-keygen -t rsa-sha2-512

Komutun çıktısı aşağıdaki çıkışı görüntülemelidir (burada username kullanıcı adınızdır):

Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\username/.ssh/id_rsa):

Varsayılanı kabul etmek için Enter tuşuna basabilir veya anahtarlarınızın oluşturulmasını istediğiniz bir yol ve/veya dosya adı belirtebilirsiniz. Bu noktada, özel anahtar dosyalarınızı şifrelemek için parola kullanmanız istenir. Parola boş olabilir ancak önerilmez. Parola, anahtar dosyasıyla birlikte çalışarak iki öğeli kimlik doğrulaması sağlar.

Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\username/.ssh/id_rsa.
Your public key has been saved in C:\Users\username/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:FHK6WjcUkcfQjdorarzlak1Ob/x7AmqQmmx5ryYYV+8 username@LOCAL-HOSTNAME
The key's randomart image is:
+---[RSA 3072]----+
|      . ** o     |
|       +.o= .    |
|      . o+       |
|      .+. .      |
|     .ooS  .     |
|  . .oo.=.o      |
|   =.= O.= .     |
|  . B BoE + . .  |
|   . *+*o. .o+   |
+----[SHA256]-----+

Artık belirtilen konumda genel/özel bir RSA anahtar çifti var. .pub dosyaları ortak anahtarlardır ve uzantısı olmayan dosyalar özel anahtarlardır:

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        10/11/2022   6:29 PM           2610 id_rsa
-a----        10/11/2022   6:29 PM            578 id_rsa.pub

Önemli

Özel anahtarınızın içeriğini asla paylaşmayın. Özel anahtarın gizliliği ihlal edilirse, saldırganlar bu anahtarı kullanarak sunucuları bağlantının sizden geldiğini düşünmeleri için kandırabilir. Özel anahtar dosyaları bir parolanın eşdeğeridir ve aynı şekilde korunmalıdır.

2. Adım: Ortak anahtarı Azure DevOps'a ekleme

Önceki adımda oluşturulan ortak anahtarı kullanıcı kimliğiniz ile ilişkilendirin.

Not

Erişiminiz olan ve SSH'yi birlikte kullanmak istediğiniz her kuruluş için bu işlemi tekrarlamanız gerekir.

  1. Web portalına göz atıp kullanıcı arabiriminin sağ üst kısmındaki avatarın yanındaki simgeyi seçerek güvenlik ayarlarınızı açın. Görüntülenen menüdeN SSH ortak anahtarları'nı seçin.

    SSH ortak anahtarları menü öğesini ve Azure DevOps'ta seçilen kullanıcı avatarını gösteren ekran görüntüsü.

  2. + Yeni Anahtar’ı seçin.

    Azure DevOps'ta Güvenlik Yapılandırması'na erişimi gösteren ekran görüntüsü.

  3. Oluşturduğunuz ortak anahtarın (örneğin, id_rsa.pub) içeriğini Ortak Anahtar Verileri alanına kopyalayın.

    Önemli

    Azure DevOps'un geçersiz bir ortak anahtar kullanmasına neden olabileceğinden, Anahtar Verileri alanına boşluk veya yeni satır eklemekten kaçının. Anahtarı yapıştırırken, genellikle sonuna yeni bir satır eklenir. Oluşursa bu yeni satırı kaldırdığınızdan emin olun.

    Azure DevOps'ta Ortak Anahtar yapılandırmayı gösteren ekran görüntüsü.

  4. Daha sonra anımsayabilmeniz için anahtara yararlı bir açıklama verin (bu açıklama profilinizin SSH ortak anahtarları sayfasında görüntülenir). Ortak anahtarı depolamak için Kaydet'i seçin. Kaydedildikten sonra anahtarı değiştiremezsiniz. Anahtarı silebilir veya başka bir anahtar için yeni bir giriş oluşturabilirsiniz. Kullanıcı profilinize kaç anahtar ekleyebileceğiniz konusunda herhangi bir kısıtlama yoktur. Ayrıca Azure DevOps'ta depolanan SSH anahtarlarının süresinin bir yıl sonra dolduğunu unutmayın. Anahtarınızın süresi dolarsa, SSH aracılığıyla Azure DevOps'a erişmeye devam etmek için yeni bir anahtar veya aynı anahtarı karşıya yükleyebilirsiniz.

  5. SSH Ortak Anahtarlara genel bakış sayfasında, sunucu parmak izleri görüntülenir. SSH aracılığıyla Azure DevOps'a ilk bağlandığınızda kullanılacak SHA256 parmak izini not edin.

    Azure DevOps Services'da güvenlik yapılandırmasına erişmenin ekran görüntüsü.

  6. Aşağıdaki komutu çalıştırarak bağlantıyı test edin:

    ssh -T git@ssh.dev.azure.com
    

    İlk kez bağlanıyorsanız aşağıdaki çıkışı almanız gerekir:

    The authenticity of host 'ssh.dev.azure.com (<IP>)' can't be established.
    RSA key fingerprint is SHA256:ohD8VZEXGWo6Ez8GSEJQ9WpafgLFsOfLOtGGQCQo6Og.
    This key is not known by any other names
    Are you sure you want to continue connecting (yes/no/[fingerprint])?
    

    Parmak izini, daha önce bahsedilen SSH Ortak Anahtarları sayfasında görüntülenen SHA256 parmak iziyle karşılaştırın. Yalnızca eşleşiyorsa devam edin!

  7. Devam etmek için girin yes . Her şey doğru yapılandırıldıysa çıkış şu şekilde görünmelidir:

     Warning: Permanently added 'ssh.dev.azure.com' (RSA) to the list of known hosts.
     remote: Shell access is not supported.
     shell request failed on channel 0
    

    Aksi takdirde, Sorular ve sorun giderme bölümüne bakın.

3. Adım: SSH ile Git deposunu kopyalama

Not

SSH'yi daha önce HTTPS aracılığıyla kopyalanmış bir depoyla kullanmak için bkz . Uzaktan kumandalarınızı SSH'ye güncelleştirme.

  1. Web portalından SSH kopya URL'sini kopyalayın. Bu örnekte, SSH kopyalama URL'si, sonrasında URL'nin ilk bölümünde belirtildiği gibi fabrikam-fiber adlı bir kuruluştaki depoya dev.azure.comyöneliktir.

    Azure Repos SSH kopyalanmış URL'sini gösteren ekran görüntüsü

    Not

    Azure DevOps Services ile proje URL'sinin biçimi olur dev.azure.com/{your organization}/{your project}. Ancak, biçime başvuran visualstudio.com önceki biçim hala desteklenmektedir. Daha fazla bilgi için bkz . Azure DevOps'a Giriş, Var olan kuruluşları yeni etki alanı adı URL'sini kullanacak şekilde değiştirme.

  2. Komut isteminden komutunu çalıştırın git clone .

    git clone git@ssh.dev.azure.com:v3/fabrikam-fiber/FabrikamFiber/FabrikamFiber
    

    SSH Aracısı kullanmıyorsanız parolanızı girmeniz istenir:

    Cloning into 'FabrikamFiber'...
    Enter passphrase for key '/c/Users/username/.ssh/id_rsa':
    remote: Azure Repos
    remote: Found 127 objects to send. (50 ms)
    Receiving objects: 100% (127/127), 56.67 KiB | 2.58 MiB/s, done.
    Resolving deltas: 100% (15/15), done.
    

    Bunun yerine parmak izini doğrulamanız istenirse 2. Adım: Ortak anahtarı Azure DevOps'a yeniden ekleme'yi okuyun. Diğer sorunlar için Sorular ve sorun giderme bölümünü okuyun.

İpucu

SSH'lerden en iyi şekilde yararlanmak için SSH anahtarlarınızı yönetmek için SSH Aracısı kullanmak yaygın bir durumdur. Ancak aracıyı ayarlamak bu makalenin kapsamının dışındadır.

Sorular ve sorun giderme

Y: İki farklı uyarı iletisi görebilir:

ssh-rsa is about to be deprecated and your request has been throttled. Please use rsa-sha2-256 or rsa-sha2-512 instead. Your session will continue automatically. For more details see https://devblogs.microsoft.com/devops/ssh-rsa-deprecation.

Or

You’re using ssh-rsa that is about to be deprecated and your request has been blocked intentionally. Any SSH session using ssh-rsa is subject to brown out (failure during random time periods). Please use rsa-sha2-256 or rsa-sha2-512 instead. For more details see https://devblogs.microsoft.com/devops/ssh-rsa-deprecation.

SSH yapılandırmanızı, (%UserProfile%\.ssh\configWindows'da) dosyanıza ~/.ssh/config aşağıdakileri ekleyerek Azure DevOps için güvenlik ayarlarınızı düşürecek şekilde değiştirdiyseniz:

Host ssh.dev.azure.com vs-ssh.visualstudio.com
  HostkeyAlgorithms +ssh-rsa

Bu satırları şimdi kaldırın ve ve/veya rsa-sha2-512 izin verildiğinden emin olunrsa-sha2-256.

Daha fazla bilgi için blog gönderisine bakın.

S: SSH bağlantı kuramıyor. Ne yapmalıyım?

Y: Karşılaşabileceğiniz birden çok farklı sorun vardır:

  • Desteklenmeyen ssh-rsa kullanımı

    You’re using ssh-rsa that is unsupported. Please use rsa-sha2-256 or rsa-sha2-512 instead. For more details see https://devblogs.microsoft.com/devops/ssh-rsa-deprecation.
    

    SSH yapılandırmanızı, (%UserProfile%\.ssh\configWindows'da) dosyanıza ~/.ssh/config aşağıdakileri ekleyerek Azure DevOps için güvenlik ayarlarınızı düşürecek şekilde değiştirdiyseniz:

    Host ssh.dev.azure.com vs-ssh.visualstudio.com
       HostkeyAlgorithms +ssh-rsa
    

    Bu satırları şimdi kaldırın ve ve/veya rsa-sha2-512 izin verildiğinden emin olunrsa-sha2-256.

    Daha fazla bilgi için blog gönderisine bakın.

  • Eşleşen ana bilgisayar anahtarı yok

    Bu sorun, blog gönderisinde belirtildiği gibi Azure DevOps Hizmeti'nde veya daha yeni Azure DevOps Server sürümlerinde gerçekleşmemelidir.

    Unable to negotiate with <IP> port 22: no matching host key type found. Their offer: ssh-rsa
    

    SSH yapılandırmanızı değiştirerek (%UserProfile%\.ssh\config Windows'ta) dosyanıza ~/.ssh/config aşağıdakileri ekleyerek Azure DevOps güvenlik ayarlarınızı düşürebilirsiniz:

    Host ssh.dev.azure.com vs-ssh.visualstudio.com
       HostkeyAlgorithms +ssh-rsa
    

    Önemli

    OpenSSH, 8.2 sürümünde ortak anahtar imzası algoritmasını kullanım dışı ssh-rsa bırakmış ve 8.8 sürümünde varsayılan olarak devre dışı bırakılmıştır.

  • Eşleşen MAC yok

    Unable to negotiate with <IP> port 22: no matching MAC found. Their offer: hmac-sha2-256,hmac-sha2-512
    

    SSH yapılandırmanızı değiştirerek (%UserProfile%\.ssh\config Windows'ta) dosyanıza ~/.ssh/config aşağıdakileri ekleyerek Azure DevOps güvenlik ayarlarınızı düşürebilirsiniz:

    Host ssh.dev.azure.com vs-ssh.visualstudio.com
       MACs +hmac-sha2-512,+hmac-sha2-256
    
  • Eşleşen anahtar değişim yöntemi yok

    Unable to negotiate with <IP> 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha256
    

    SSH yapılandırmanızı değiştirerek (%UserProfile%\.ssh\config Windows'ta) dosyanıza ~/.ssh/config aşağıdakileri ekleyerek Azure DevOps güvenlik ayarlarınızı düşürebilirsiniz:

    Host ssh.dev.azure.com vs-ssh.visualstudio.com
       KexAlgorithms +diffie-hellman-group-exchange-sha256,+diffie-hellman-group14-sha1,+diffie-hellman-group1-sha1
    

    Önemli

    Anahtar değişimi algoritmasıdiffie-hellman-group1-sha1, OpenSSH'nin 6.9 sürümünde ve diffie-hellman-group14-sha1 sürüm 8.2'de varsayılan olarak devre dışı bırakılmıştır.

İpucu

Azure DevOps Server ve TFS'nin şirket içinde barındırılan örnekleri için yerine satırında ssh.dev.azure.com vs-ssh.visualstudio.comuygun ana bilgisayar adını Host kullanın.

S: Git'in anahtarımın parolasını nasıl hatırlamasını sağlayabilirim?

Y: SSH Aracısı kullanabilirsiniz. Linux, macOS ve Windows (Windows 10 'dan başlayarak (derleme 1809) veya Git Bash ile Windows için Git kullanarak) hepsi bir SSH Aracısı ile birlikte gönderilmektedir. SSH Aracısı, yinelenen kullanım için SSH anahtarlarınızı önbelleğe almak için kullanılabilir. Nasıl kullanılacağıyla ilgili ayrıntılar için SSH satıcınızın el kitabına bakın.

S: SSH istemcim olarak PuTTY kullanıyorum ve puTTYgen ile anahtarlarımı oluşturdum. Bu anahtarları Azure DevOps Services ile kullanabilir miyim?

Y: Evet. PuTTYgen ile özel anahtarı yükleyin, Dönüşümler menüsüne gidin ve OpenSSH anahtarını dışarı aktar'ı seçin. Özel anahtar dosyasını kaydedin ve ardından bilinmeyen anahtarları ayarlamak için adımları izleyin. Ortak anahtarınızı doğrudan PuTTYgen penceresinden kopyalayın ve güvenlik ayarlarınızdaki Anahtar Verileri alanına yapıştırın.

S: Karşıya yüklediğim ortak anahtarın yerel anahtarımla aynı anahtar olduğunu nasıl doğrularım?

Y: Aşağıdaki komut komutunu kullanarak, komut satırını kullanarak ortak anahtarınızda çalıştırarak ssh-keygen profilinizde görüntülenen ortak anahtarın parmak izini doğrulayabilirsiniz. Varsayılan değerleri kullanmıyorsanız yolu ve ortak anahtar dosya adını değiştirmeniz gerekir.

Not

Ağustos/Eylül 2024 itibarıyla MD5'ten SHA-256 karmalarına geçiş yapıyoruz. Geçiş döneminde doğru işlevi seçmeniz gerekebilir.

ssh-keygen -l -E md5 -f <path_to_your_public_key> -- use this for MD5 fingerprints
ssh-keygen -l -E sha256 -f <path_to_your_public_key> -- use this for SHA-256 fingerprints

Ardından imzayı profilinizdeki imzayla karşılaştırabilirsiniz. Bu denetim, bağlantı sorunlarınız varsa veya anahtarı Azure DevOps'a eklerken ortak anahtarı Anahtar Verileri alanına yanlış yapıştırmayla ilgili endişeleriniz varsa kullanışlıdır.

S: Şu anda HTTPS kullandığım bir depoda SSH kullanmaya nasıl başlayabilirim?

Y: HTTPS'den SSH URL'sine geçiş yapmak için Git'te uzaktan kumandayı güncelleştirmeniz origin gerekir. SSH kopya URL'sini aldıktan sonra aşağıdaki komutu çalıştırın:

git remote set-url origin <SSH URL to your repository>

adlı origin uzak sunucuya erişen Git komutları SSH kullanır.

S: Git LFS’yi Azure DevOps Services ile kullanıyorum ve Git LFS tarafından izlenen dosyaları çekerken hatalar alıyorum.

Y: Azure DevOps Services şu anda SSH üzerinden LFS'yi desteklememektedir. Git LFS izlenen dosyalarının bulunduğu depolara bağlanmak için HTTPS kullanın.

S: ~/.ssh/id_rsa ve ~/.ssh/id_rsa.pub olmayan bir anahtar konumunu nasıl kullanabilirim?

Y: Varsayılandan farklı bir yerde depolanan bir anahtarı kullanmak için şu iki görevi gerçekleştirin:

  1. Anahtarlar yalnızca sizin okuyabileceğiniz veya düzenleyebileceğiniz bir klasörde olmalıdır. Klasör daha geniş izinlere sahipse, SSH anahtarları kullanmaz.

  2. Örneğin SSH yapılandırmasında "Kimlik" olarak belirterek SSH'ye anahtarın konumunu bildirmeniz gerekir:

    Host ssh.dev.azure.com
      IdentityFile ~/.ssh/id_rsa_azure
      IdentitiesOnly yes
    

Bu IdentitiesOnly yes ayar, SSH'nin kimlik doğrulaması için başka bir kullanılabilir kimlik kullanmamasını sağlar. Birden fazla kimlik varsa bu ayar özellikle önemlidir.

S: Birden çok SSH anahtarım var. Azure DevOps için doğru SSH anahtarını Nasıl yaparım? kullanın?

Y: Genellikle bir SSH istemcisi için birden çok anahtar yapılandırdığınızda istemci, SSH sunucusu bir anahtar kabul edene kadar her anahtarla sırayla kimlik doğrulaması yapmaya çalışır.

Ancak bu yaklaşım, SSH protokolü ve Git SSH URL'lerimizin yapısıyla ilgili teknik kısıtlamalar nedeniyle Azure DevOps ile çalışmaz. Azure DevOps, kimlik doğrulaması sırasında istemci tarafından sağlanan ilk anahtarı kabul eder. Bu anahtar istenen depo için geçersizse, istek diğer kullanılabilir anahtarlara gerek kalmadan başarısız olur ve aşağıdaki hatayla sonuçlanır:

remote: Public key authentication failed.
fatal: Could not read from remote repository.

Azure DevOps için SSH'yi belirli bir anahtar dosyasını açıkça kullanacak şekilde yapılandırmanız gerekir. Yordam, bilinmeyen bir konumda depolanan bir anahtarın kullanılmasıyla aynıdır. SSH'ye Azure DevOps konağı için doğru SSH anahtarını kullanmasını söyleyin.

S: Azure DevOps'ta farklı kuruluşlar için farklı SSH anahtarları Nasıl yaparım??

Y: Azure DevOps, istemcinin kimlik doğrulaması sırasında sağladığı ilk anahtarı körü körüne kabul eder. bu anahtar istenen depo için geçersizse, istek aşağıdaki hatayla başarısız olur:

remote: Public key authentication failed.
fatal: Could not read from remote repository.

Bu hatanın nedeni, tüm Azure DevOps URL'lerinin aynı ana bilgisayar adını ()ssh.dev.azure.com paylaşması ve SSH'nin bunları varsayılan olarak ayırt etmelerini imkansız hale getirmesidir. Ancak, her biri için ayrı anahtarlar sağlayarak SSH yapılandırmanızı farklı kuruluşlar arasında ayrım yapmak üzere değiştirebilirsiniz. SSH yapılandırma dosyanızda ayrı Host bölümler oluşturmak için konak diğer adlarını kullanın.

# The settings in each Host section are applied to any Git SSH remote URL with a
# matching hostname.
# Generally:
# * SSH uses the first matching line for each parameter name, e.g. if there's
#   multiple values for a parameter across multiple matching Host sections
# * "IdentitiesOnly yes" prevents keys cached in ssh-agent from being tried before
#   the IdentityFile values we explicitly set.
# * On Windows, ~/.ssh/your_private_key maps to %USERPROFILE%\.ssh\your_private_key,
#   e.g. C:\Users\<username>\.ssh\your_private_key.

# Imagine that we have the following two SSH URLs:
# * git@ssh.dev.azure.com:v3/Fabrikam/Project1/fab_repo
#   * For this, we want to use `fabrikamkey`, so we'll create `devops_fabrikam` as
#     a Host alias and tell SSH to use `fabrikamkey`.
# * git@ssh.dev.azure.com:v3/Contoso/Project2/con_repo
#   * For this, we want to use `contosokey`, so we'll create `devops_contoso` as
#     a Host alias and tell SSH to use `contosokey`.
#
# To set explicit keys for the two host aliases and to tell SSH to use the correct
# actual hostname, add the next two Host sections:
Host devops_fabrikam
  HostName ssh.dev.azure.com
  IdentityFile ~/.ssh/private_key_for_fabrikam
  IdentitiesOnly yes

Host devops_contoso
  HostName ssh.dev.azure.com
  IdentityFile ~/.ssh/private_key_for_contoso
  IdentitiesOnly yes

Daha sonra, gerçek URL'leri kullanmak yerine Git'e, mevcut uzak sunuculardaki konak adını sırasıyla ve devops_contoso ile devops_fabrikam değiştirerek her depo için bu URL'leri uzak olarak kullanmak istediğinizi söyleyin. Örneğin, git@ssh.dev.azure.com:v3/Fabrikam/Project1/fab_repo olur git@devops_fabrikam:v3/Fabrikam/Project1/fab_repo.

S: SSH anahtarlarım hakkında hangi bildirimleri alabilirim?

Y: Azure DevOps Services'e yeni bir SSH Anahtarı kaydettiğinizde, hesabınıza yeni bir SSH anahtarı eklendiğinde sizi bilgilendiren bir e-posta bildirimi alırsınız.

SSH bildirim örneği

S: Hesabıma benden başka birinin SSH anahtarları eklediğini düşünürsem ne yapmalıyım?

Y: Başlatmadığınız bir SSH anahtarı kayıt bildirimi alırsanız kimlik bilgileriniz tehlikeye girebilir.

Sonraki adım, parolanızın gizliliğinin ihlal edilip edilmediğini araştırmak olacaktır. Parolanızı değiştirmek, bu saldırı vektörlerine karşı savunmak için her zaman iyi bir ilk adımdır. Microsoft Entra kullanıcısıysanız, hesabınızın bilinmeyen bir kaynaktan/konumdan kullanılıp kullanılmadığını denetlemek için yöneticinizle görüşün.

S: Parolam sorulduğunda ve GIT_SSH_COMMAND="ssh -v" git fetch veya corresponding algo not in PubkeyAcceptedAlgorithmsgösterildiğinde no mutual signature algorithm ne yapmalıyım?

Y: Fedora Linux gibi bazı Linux dağıtımları, Azure DevOps'un desteklediğinden daha güçlü SSH imza algoritmaları gerektiren şifreleme ilkelerine sahiptir (Ocak 2021 itibarıyla). Bu desteği eklemek için açık bir özellik isteği vardır.

SSH yapılandırmanıza~/.ssh/config ( ) aşağıdaki kodu ekleyerek sorunu geçici olarak çözebilirsiniz:

Host ssh.dev.azure.com vs-ssh.visualstudio.com
  PubkeyAcceptedKeyTypes +ssh-rsa

İpucu

Azure DevOps Server ve TFS'nin şirket içinde barındırılan örnekleri için yerine satırında ssh.dev.azure.com vs-ssh.visualstudio.comuygun ana bilgisayar adını Host kullanın.