Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Derleme veya yayın adımından önce SSH anahtarı yüklemek için bu görevi işlem hattında kullanın.
Sözdizimi
# Install SSH key v0
# Install an SSH key prior to a build or deployment.
- task: InstallSSHKey@0
inputs:
knownHostsEntry: # string. Alias: hostName. Required. Known Hosts Entry.
#sshPublicKey: # string. SSH Public Key.
#sshPassphrase: # string. SSH Passphrase.
sshKeySecureFile: # string. Required. SSH Key.
# Advanced
#addEntryToConfig: false # boolean. Add entry to SSH config. Default: false.
#configHostAlias: # string. Required when addEntryToConfig = true. Alias.
#configHostname: # string. Required when addEntryToConfig = true. Host name.
#configUser: # string. Optional. Use when addEntryToConfig = true. User.
#configPort: # string. Optional. Use when addEntryToConfig = true. Port.
Girişler
Bilinen Konaklar GirdisiknownHostsEntry -
Giriş diğer adı: hostName.
string. Gerekli.
known_hosts dosyası için SSH anahtar girişini belirtir.
sshPublicKey
-
SSH Ortak Anahtarı
string.
Opsiyonel. Ortak SSH anahtarının içeriğini belirtir.
sshPassphrase
-
SSH Parola
string.
Opsiyonel. Varsa, SSH anahtarının parolasını belirtir.
sshKeySecureFile
-
SSH Anahtarı
string. Gerekli.
Aracıya yüklenecek Secure Files yüklenen SSH anahtarını belirtir.
addEntryToConfig
-
SSH yapılandırma girdi ekleme
boolean. Varsayılan değer: false.
Opsiyonel. SSH yapılandırma dosyasına yüklenen anahtarla ilgili bir girdi ekler. Anahtar dosyası sonraki tüm görevler için kullanılabilir.
configHostAlias
-
Diğer Ad
string.
addEntryToConfig = truegerekir.
SSH yapılandırma girdisinin adını belirtir.
ana bilgisayar adıconfigHostname -
string.
addEntryToConfig = truegerekir.
SSH yapılandırma girişinin ana bilgisayar adı özelliğini belirtir.
kullanıcıconfigUser -
string. Opsiyonel.
addEntryToConfig = trueolduğunda kullanın.
SSH yapılandırma girişinin kullanıcı adı özelliğini belirtir.
configPort
-
Bağlantı Noktası
string. Opsiyonel.
addEntryToConfig = trueolduğunda kullanın.
SSH yapılandırma girdisinin bağlantı noktasını belirtir.
Görev denetimi seçenekleri
Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz. Denetim seçenekleri ve ortak görev özellikleri.
Çıkış değişkenleri
Yok.
Açıklamalar
Derleme veya yayın adımından önce SSH anahtarı yüklemek için bu görevi işlem hattında kullanın.
Uyarı
Bu görev aracıda Windows için Git Bash'i gerektiriyor.
Kullanım ve en iyi yöntemler
barındırılanhavuzlarına bir SSH anahtarı yüklerseniz, işlem hattınızın sonraki adımlarında eşleşen ortak anahtarın zaten bulunduğu uzak bir sisteme bağlanabilirsiniz. Örneğin, Bir Git deposuna veya Azure'daki bir VM'ye bağlanabilirsiniz.
Ortak anahtarınızı görev yapılandırmasına düz metin olarak geçirmenizi öneririz. Bunun yerine bir gizli dizi değişkeni ayarlayın. Ardından işlem hattı tanımınızdaki değişkenini $(myPubKey)olarak çağırın. Anahtarınızın gizli bölümü için Azure Pipelines'da Güvenli Dosya kitaplığı kullanın.
Görevinizi oluşturmak için aşağıdaki iyi yapılandırılmış SSH Anahtarını Yükle görevinin örneğini kullanın:
steps:
- task: InstallSSHKey@0
displayName: 'Install an SSH key'
inputs:
knownHostsEntry: 'SHA256:1Hyr55tsxGifESBMc0s+2NtutnR/4+LOkVwrOGrIp8U johndoe@contoso'
sshPublicKey: '$(myPubKey)'
sshKeySecureFile: 'id_rsa'
Uyarı
Ortak anahtarınız depoya\kuruluşa eklenmelidir; aksi takdirde erişim sorunları yaşanacaktır. GitHub için yukarıdaki kılavuzu izleyin. Azure DevOps Services için Ortak anahtarı Azure DevOps Services/TFSekleme seçeneğini kullanın.
Aynı işlem hattı işine birden çok SSH anahtarı yükleme
Aynı işlem hattı işinde birden fazla anahtar kullanıldığında, ilk anahtar varsayılan olarak kullanılır. SSH bağlantısı kurarken istenen anahtarı kullanabilmek için, Advanced görevinin InstallSSHKey bölümünü kullanarak şu parametreleri ayarlayabilirsiniz: addEntryToConfig, configHostAlias, configHostname, configUserve configPort.
Bu parametreler, bir diğer ad aracılığıyla özel betiklerde kullanmak için SSH yapılandırma dosyasına (örneğin, Linux için /root/.ssh/config) bir konak eklemenize olanak sağlar.
Derleme tamamlandıktan sonra görev özgün SSH yapılandırma dosyasını geri yüklemeyi dener. Başlangıçta SSH yapılandırma dosyası yoksa, konak aracıdan kaldırılır.
Birden çok SSH anahtarı yükleme örneği. Birkaç GitHub deposu ve her biri için kendi anahtarı olan durum:
pool: <Some Agent Pool>
steps:
- task: InstallSSHKey@0
inputs:
knownHostsEntry: $(known_host)
sshPublicKey: $(first_public_key)
sshKeySecureFile: $(first_private_key)
addEntryToConfig: true
configHostAlias: <first-host-alias>
configHostname: github.com
configUser: git
displayName: Install First Repo SSH Key
- task: InstallSSHKey@0
inputs:
knownHostsEntry: $(known_host)
sshPublicKey: $(second_public_key)
sshKeySecureFile: $(second_private_key)
addEntryToConfig: true
configHostAlias: <second-host-alias>
configHostname: github.com
configUser: git
displayName: Install Second Repo SSH Key
- bash: git clone git@<first-host-alias>:<owner>/<first-repo>.git
displayName: Clone First Repo
- bash: git clone git@<second-host-alias>:<owner>/<second-repo>.git
displayName: Clone Second Repo
Örnekler
GitHub kullanarak örnek kurulum
Bu bölümde Azure Pipelines içinden YAML ile özel github deposunun nasıl kullanılacağı açıklanmaktadır.
Açık kaynak topluluğuna göstermek istemediğiniz bir deponuz varsa, depoyu özel hale getirmek yaygın bir uygulamadır. Ancak, depoyu yönetmek için aracı kullanmak istiyorsanız Azure DevOps gibi bir CI/CD aracının depoya erişmesi gerekir. Azure DevOps erişimi vermek için GitHub'a erişimin kimliğini doğrulamak için bir SSH anahtarına ihtiyacınız olabilir.
GitHub'a erişimin kimliğini doğrulamak için SSH anahtarı kullanma adımları şunlardır:
GitHub'dan Azure DevOps'a erişimin kimliğini doğrulamak için kullanılacak bir anahtar çifti oluşturun:
GitBash'ta aşağıdaki komutu çalıştırın:
ssh-keygen -t rsaSSH anahtar çifti için bir ad girin. Örneğimizde myKey kullanıyoruz.
(İsteğe bağlı) Özel anahtarınızı şifrelemek için parola girebilirsiniz. Bu adım isteğe bağlıdır. Parola kullanmak, parola kullanmamaktan daha güvenlidir.
ssh-keygenSSH anahtar çiftlerini oluşturur ve aşağıdaki başarı iletisi görüntülenir:
Windows Dosya Gezgini'nde yeni oluşturduğunuz anahtar çiftini denetleyin:
Ortak anahtarı GitHub deposuna ekleyin. ("Ortak anahtar ".pub" ile biter). Bunu yapmak için tarayıcınızda şu URL'ye gidin:
https://github.com/(organization-name)/(repository-name)/settings/keys.Dağıtım anahtarı ekle'yi seçin.
Yeni ekle iletişim kutusunda bir başlık girin ve SSH anahtarını kopyalayıp yapıştırın:
Anahtar ekle’yi seçin.
Özel anahtarınızı Azure DevOps'a yükleyin:
Azure DevOps'ta soldaki menüden pipelines>Libraryöğesini seçin.
güvenli dosyalar >seçeneğini belirleyin:
Gözat'ıseçin ve ardından özel anahtarınızı seçin:
"Bilinen Konaklar Girdinizi" kurtarın. GitBash'ta aşağıdaki komutu girin:
ssh-keyscan github.com"Bilinen Konaklar Girdiniz", GitBash sonuçlarında # ile başlamayan görüntülenen değerdir:
YAML işlem hattı oluşturma.
YAML işlem hattı oluşturmak için YAML tanımına aşağıdaki görevi ekleyin:
- task: InstallSSHKey@0 inputs: knownHostsEntry: #{Enter your Known Hosts Entry Here} sshPublicKey: #{Enter your Public key Here} sshKeySecureFile: #{Enter the name of your key in "Secure Files" Here}
SSH anahtarları artık yüklenir ve varsayılan HTTPS'yi değil, SSH kullanarak bağlanmak için betikle devam edebilirsiniz.
Gereksinimler
| Gereksinim | Açıklama |
|---|---|
| İşlem hattı türleri | YAML, Klasik derleme, Klasik sürüm |
| Üzerinde çalışır | Aracı, DeploymentGroup |
| Talepleri | Hiç kimse |
| Özellikleri | Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz. |
| Komut kısıtlamaları | Bu görev,aşağıdaki |
| Ayarlanabilir değişkenleri | Bu görevin şu değişkenleriayarlama izni var: SSH_AGENT_PID, SSH_AUTH_SOCK, INSTALL_SSH_KEY_CONFIG_LOCATION, INSTALL_SSH_KEY_KNOWN_HOSTS_LOCATION |
| Aracı sürümü | 2.182.1 veya üzeri |
| Görev kategorisi | Fayda |