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.com
baş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:
- Linux
- macOS
- Windows için Git çalıştıran Windows sistemleri
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.
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.
+ Yeni Anahtar’ı seçin.
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.
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.
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.
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!
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.
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.com
yöneliktir.Not
Azure DevOps Services ile proje URL'sinin biçimi olur
dev.azure.com/{your organization}/{your project}
. Ancak, biçime başvuranvisualstudio.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.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
S: Ssh-rsa ile ilgili uyarılar görüyorum. Ne yapmalıyım?
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\config
Windows'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\config
Windows'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 vediffie-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.com
uygun 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:
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.
Ö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.
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 PubkeyAcceptedAlgorithms
gö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.com
uygun ana bilgisayar adını Host
kullanın.