SSH anahtarı kimlik doğrulamasını kullanma

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

HTTPS kimlik doğrulamasını kullanarak güvenle bağlanmak için macOS, Linux veya Windows üzerinden SSH aracılığıyla Git depolarınıza bağlanın. Windows'da Git Kimlik Bilgileri Yöneticisi veya Kişisel Erişim Belirteçleri'nin kullanılmasını öneririz.

Önemli

SSH URL’leri değişti ama eski SSH URL’leri çalışmaya devam edecek. SSH’yi zaten ayarladıysanız uzak URL’lerinizi yeni biçime güncelleştirmeniz gerekir:

  • Git istemcinizde çalıştırarak git remote -v hangi uzak makinelerin SSH kullandığını doğrulayın.
  • Web'de deponuzu ziyaret edin ve sağ üstteki Kopyala düğmesini seçin.
  • SSH'yi seçin ve yeni SSH URL'sini kopyalayın.
  • Git istemcinizde şunu çalıştırın: git remote set-url <remote name, e.g. origin> <new SSH URL>. Alternatif olarak, Visual Studio'da Depo Ayarları'na gidin ve uzaktan kumandalarınızı düzenleyin.

Not

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

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 aşağıdaki platformlarda SSH anahtarı kimlik doğrulamasının yapılandırmasını kapsar:



Komut satırını kullanarak SSH'yi yapılandırın. bash Linux ve macOS'ta ortak kabuk olup Windows için Git yüklemesi Başlat menüsünde Git Bash'e bir kısayol ekler. Diğer kabuk ortamları çalışır ancak bu makalede ele alınmaz.

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

Not

Sisteminizde zaten SSH anahtarları oluşturduysanız, bu adımı atlayın ve SSH anahtarlarını yapılandırma bölümüne gidin.

Buradaki komutlar, mevcut varsayılan anahtarların üzerine yazarak yeni varsayılan SSH anahtarları oluşturmanıza olanak verir. Devam etmeden önce klasörünüzü ~/.ssh (örneğin, /home/jamal/.ssh veya C:\Users\jamal\.ssh) denetleyin ve aşağıdaki dosyaları arayın:

  • id_rsa
  • id_rsa.pub

Bu dosyalar varsa, SSH anahtarlarını zaten oluşturmuşsunuz demektir. Aşağıdaki komutlarla anahtarların üzerine yazabilir veya bu adımı atlayıp bu anahtarları yeniden kullanmak için SSH anahtarlarını yapılandırma bölümüne gidebilirsiniz.

İstemdeki ssh-keygenbash komutuyla SSH anahtarlarınızı oluşturun. Bu komut, SSH ile kullanmak üzere bir 3072 bit RSA anahtarı oluşturur. İstendiğinde özel anahtarınız için parola verebilirsiniz. Bu parola, özel anahtarınız için başka bir güvenlik katmanı sağlar. Parola verirseniz, SSH aracısını parolanızı önbelleğe almak üzere yapılandırdığınızdan emin olun; böylece her bağlandığınızda parolayı girmeniz gerekmez.

$ ssh-keygen -C "jamal@fabrikam.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/jamal/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/jamal/.ssh/id_rsa.
Your public key has been saved in /c/Users/jamal/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:******************************************* jamal@fabrikam.com
The key's randomart image is:
+---[RSA 3072]----+
|+.   +yX*o .     |
|... ..E+*=o      |
|  ..o.=E=.o      |
|   . * =.o .     |
|    . S o o..    |
|       + .oo     |
|        S+.  .   |
|        ..+.+    |
|          o*..   |
+----[SHA256]-----+

Bu komut, SSH kimlik doğrulaması için gereken iki anahtarı üretir: özel anahtarınız ( id_rsa ) ve ortak anahtarınız ( id_rsa.pub ). Özel anahtarınızın içeriğini asla paylaşmamak önemlidir. Ö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.

2. Adım: Ortak anahtarı Azure DevOps Services/TFS'ye ekleme

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

  1. Web portalına göz atarak ve kullanıcı arabiriminin sağ üst köşesindeki avatarınızı 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 Services'de seçilen kullanıcı avatarını gösteren ekran görüntüsü.

  2. + Yeni Anahtar’ı seçin.

    Azure DevOps Services'de Güvenlik Yapılandırmasına Erişme

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

    Önemli

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

    Azure DevOps Services'de Ortak Anahtarı Yapılandırma

  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 beş 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. Aşağıdaki komutu çalıştırarak bağlantıyı test edin: ssh -T git@ssh.dev.azure.com. Her şey düzgün çalışıyorsa şu yanıtı alırsınız: remote: Shell access is not supported. Çalışmıyorsa , Sorular ve sorun giderme bölümüne bakın.

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

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

  1. Web portalına göz atarak ve kullanıcı arabiriminin sağ üst köşesindeki avatarınızı seçerek güvenlik ayarlarınızı açın. Görüntülenen menüde Güvenlik'i seçin.

    Azure DevOps Services'da Kullanıcı Profiline Erişme

  2. + Yeni Anahtar’ı seçin.

    Azure DevOps Services'de Güvenlik Yapılandırmasına Erişme

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

    Not

    komutunu $ cat ~/.ssh/id_rsa.pub kullanarak terminaldeki id_rsa.pub dosyasının içeriğini yazdırabilir ve bunu panonuza kopyalayabilirsiniz. SSH ortak anahtar dosyanızın adı örnek koddan farklıysa, dosya adını geçerli kurulumunuzla eşleşecek şekilde değiştirin. Anahtarınızı kopyalarken yeni satır veya boşluk eklemeyin. Alternatif olarak, gizli .ssh klasörünü bulabilir, dosyayı sık kullandığınız metin düzenleyicide açabilir ve panonuza kopyalayabilirsiniz.

    Önemli

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

    Azure DevOps Services'de Ortak Anahtarı Yapılandırma

  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.

  5. Aşağıdaki komutu çalıştırarak bağlantıyı test edin: ssh -T git@ssh.dev.azure.com. Her şey düzgün çalışıyorsa şu yanıtı alırsınız: remote: Shell access is not supported. Çalışmıyorsa , Sorular ve sorun giderme bölümüne bakın.

3. Adım: SSH ile Git deposunu kopyalama

Not

Kopyalanmış mevcut bir depodan SSH ile bağlanmak için bkz. uzak sunucularınızı SSH'ye güncelleştirme.

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

    SSH Kopya URL'sini Azure Repos

    Not

    Azure DevOps Services ile proje URL'sinin biçimi şeklindedirdev.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 tanıtımı, 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 sunucunun SSH parmak izini görüntüleyebilir ve doğrulamanızı isteyebilir. Görüntülenen parmak izinin SSH ortak anahtarlar sayfasındaki parmak izlerinden biriyle eşleşdiğini doğrulamanız gerekir.

SSH, sizi ortadaki adam saldırılarından korumak için bilinmeyen bir konağa bağlandığında bu parmak izini görüntüler. Konağın parmak izini kabul ettikten sonra, parmak izi değişmediği sürece SSH bir daha size sormaz.

$ git clone git@ssh.dev.azure.com:v3/fabrikam-fiber/FabrikamFiber/FabrikamFiber
Cloning into 'FabrikamFiber'...
The authenticity of host 'ssh.dev.azure.com (65.52.8.37)' can't be established.
RSA key fingerprint is SHA256:********************************************
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ssh.dev.azure.com,65.52.8.37' (RSA) to the list of known hosts.
Enter passphrase for key '/c/Users/jamal/.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.

Bağlanmaya devam etmek isteyip istemediğiniz sorulduğunda yazın yes. Git, depoyu kopyalar ve gelecekteki Git komutları için SSH'ye bağlanmak üzere uzak depoyu ayarlar origin .

İpucu

Sorunları önlemek için, Windows kullanıcılarının Git'in SSH anahtar parolalarını yeniden kullanmasını sağlamak için bir komut çalıştırması gerekir.

Sorular ve sorun giderme

S: çalıştırdıktan git clonesonra aşağıdaki hatayı alıyorum. Ne yapmalıyım?

Host key verification failed. 
fatal: Could not read from remote repository.

A: SSH anahtarını aşağıdakini çalıştırarak el ile kaydedin: ssh-keyscan -t rsa ssh.dev.azure.com >> ~/.ssh/known_hosts

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

A: İşlemi PowerShell'de veya Windows Komut İstemi'nde başlatmak ssh-agent için Windows için Git'te bulunan aşağıdaki komutu çalıştırın. ssh-agent parolanızı önbelleğe alır, böylece deponuza her bağlandığınızda bunu sağlamanız gerekmez.

start-ssh-agent.cmd

Bash kabuğunu (Git Bash dahil) kullanıyorsanız ssh-agent'ı şu şekilde başlatın:

eval `ssh-agent`

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

Y: Evet. PuTTYgen ile özel anahtarı yükleyin, Dönüştürmeler menüsüne gidin ve OpenSSH anahtarını dışarı aktar'ı seçin. Özel anahtar dosyasını kaydedin ve ardından varsayılan olmayan anahtarları ayarlama adımlarını 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 olarak sahip olduğum anahtarla aynı olduğunu nasıl doğrulayabilirim?

A: Komut satırını kullanarak bash aşağıdaki komutu çalıştırarak profilinizde görüntülenen ortak anahtarın ssh-keygen parmak izini doğrulayabilirsiniz. Varsayılanları kullanmıyorsanız yolu ve ortak anahtar dosya adını değiştirmeniz gerekir.

ssh-keygen -l -E md5 -f ~/.ssh/id_rsa.pub

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

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

A: HTTPS'den SSH URL'sine geçiş yapmak için Git'teki 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 git@ssh.dev.azure.com:v3/fabrikam-fiber/FabrikamFiber/FabrikamFiber

Artık öğesine originbağlanan herhangi bir Git komutunu çalıştırabilirsiniz.

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 desteklemiyor. 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 gibi varsayılan olmayan bir anahtar konumunu nasıl kullanabilirim?

A: ile ssh-keygen oluşturulan anahtarları varsayılandan farklı bir yerde 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ün daha geniş izinleri varsa, SSH anahtarları kullanmaz.
  2. Anahtarların konumunu SSH'ye bildirmeniz gerekir. Özel anahtarın tam yolunu sağlayarak SSH'nin komut aracılığıyla ssh-add anahtarları bildiğinden emin olursunuz.
ssh-add /home/jamal/.ssh/id_jamal.rsa

Windows'da, çalıştırmadan ssh-addönce Windows için Git'te bulunan aşağıdaki komutu çalıştırmanız gerekir:

start-ssh-agent.cmd

Bu komut hem PowerShell'de hem de Komut İsteminde çalışır. Git Bash kullanıyorsanız kullanmanız gereken komut şu şekildedir:

eval `ssh-agent`

Windows için Git dağıtımının bir parçası olarak bulabilir ssh-add ve windows üzerindeki herhangi bir kabuk ortamında çalıştırabilirsiniz.

macOS ve Linux'ta da çalıştırmadan ssh-addönce komutunu çalıştırmanız gerekirssh-agent, ancak bu platformlardaki komut ortamı genellikle sizin için başlatmayı ssh-agent üstlenir.

S: Birden çok SSH anahtarım var. farklı SSH sunucuları veya depoları için farklı SSH anahtarları Nasıl yaparım??

A: Genellikle, bir SSH istemcisi için birden çok anahtar yapılandırıp bir SSH sunucusuna bağlanırsanız, istemci anahtarları sunucu kabul edene kadar tek tek deneyebilir.

Ancak bu, SSH protokolü ve Git SSH URL'lerimizin nasıl yapılandırıldığıyla ilgili teknik nedenlerden dolayı Azure DevOps ile çalışmaz. Azure DevOps, kimlik doğrulaması sırasında istemcinin 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.

Azure DevOps için SSH'yi belirli bir anahtar dosyasını açıkça kullanacak şekilde yapılandırmanız gerekir. Dosyanızı ~/.ssh/config (örneğin, /home/jamal/.ssh veya C:\Users\jamal\.ssh) aşağıdaki gibi düzenlemek için bunu gerçekleştirmenin bir yolu:

# 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.

# Most common scenario: to use the same key across all hosted Azure DevOps
# organizations, add a Host entry like this:
Host ssh.dev.azure.com
  IdentityFile ~/.ssh/your_private_key
  IdentitiesOnly yes

# This model will also work if you still use the older SSH URLs with a
# hostname of vs-ssh.visualstudio.com:
Host vs-ssh.visualstudio.com
  IdentityFile ~/.ssh/your_private_key
  IdentitiesOnly yes

# OpenSSL 8.7 has DEPRECATED RSA. IF using OpenSSL version > 8.6 you will need to 
# add the 'HostkeyAlgorithms' and 'PubkeyAcceptedAlgorithms' entries below. You can 
# check the version of OpenSSL/OpenSSH you're using by running the command 'ssh -v localhost'    
Host ssh.dev.azure.com
  IdentityFile ~/.ssh/id_rsa
  HostkeyAlgorithms +ssh-rsa
  PubkeyAcceptedAlgorithms +ssh-rsa   

# Less common scenario: if you need different keys for different organizations,
# you'll need to use host aliases to create separate Host sections.
# This is because all hosted Azure DevOps URLs have the same hostname
# (ssh.dev.azure.com), so SSH has no way to distinguish them by default.
#
# 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
#
# Then, instead of using the real URLs, tell Git you want to use these URLs:
# * git@devops_fabrikam:v3/Fabrikam/Project1/fab_repo
# * git@devops_contoso:v3/Contoso/Project2/con_repo
#

# At the end of the file, you can put global defaults for other SSH hosts you
# may connect to.  Note that "*" also matches any hosts that match the sections
# above, and remember that SSH uses the first matching line for each parameter name.
Host *
# 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.

# Say your on-premises Azure DevOps Server instance has SSH URLs like this:
#   ssh://someHost:22/someCollection/some_project/_git/some_repo
# Add the following Host section:
Host someHost
  IdentityFile ~/.ssh/your_private_key
  IdentitiesOnly yes

# At the end of the file, you can put global defaults for other SSH hosts you
# may connect to.  Note that "*" also matches any hosts that match the sections
# above, and remember that SSH uses the first matching line for each parameter name.
Host *

S: "Eşleşen anahtar değişimi yöntemi bulunamadı" hatasından bahseden hataları düzeltebilir Nasıl yaparım??

A: Windows 2.25.1 için Git, bazı anahtar değişim protokollerini varsayılan olarak kaldıran yeni bir OpenSSH sürümüyle birlikte gönderilir. Özellikle, diffie-hellman-group14-sha1 bazı Azure DevOps Server ve TFS müşterileri için sorunlu olarak tanımlanmıştır. SSH yapılandırmanıza aşağıdakileri ekleyerek (~/.ssh/config):

Host <your-azure-devops-host>
    KexAlgorithms +diffie-hellman-group14-sha1

değerini Azure DevOps veya TFS sunucunuzun ana bilgisayar adıyla değiştirin <your-azure-devops-host> ; örneğin tfs.mycompany.com: .

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

A: Azure DevOps Services ile yeni bir SSH Anahtarı kaydettiğinizde, hesabınıza yeni bir SSH anahtarı eklendiğini bildiren bir e-posta bildirimi alırsınız.

SSH bildirim örneği

S: Hesabıma benden başka birinin SSH anahtarları eklediğine inanıyorsam ne yapmalıyım?

A: Bir SSH anahtarının kaydedildiğini bildiren bir bildirim alırsanız ve bunu hizmete el ile yüklemediyseniz, kimlik bilgileriniz tehlikeye girmiş olabilir.

Sonraki adım, parolanızın gizliliğinin ihlal edilip edilmediğini araştırmak olacaktır. Parolanızı değiştirmek her zaman bu saldırı vektörlerine karşı savunmak için iyi bir ilk adımdır. Azure Active Directory 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: Yine de parolam istenirse ve GIT_SSH_COMMAND="ssh -v" git fetch gösterilirse no mutual signature algorithmne yapmalıyım?

A: 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 bu sorunu çözebilirsiniz:

Host ssh.dev.azure.com
  PubkeyAcceptedKeyTypes=ssh-rsa

Azure DevOps Server kullanıyorsanız değerini doğru ana bilgisayar adıyla değiştirinssh.dev.azure.com.