Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tuto úlohu v kanálu použijte k instalaci klíče SSH před krokem sestavení nebo verze.
Syntaxe
# 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.
# 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.
Vstupy
knownHostsEntry
-
položka známých hostitelů
Vstupní alias: hostName
.
string
. Povinné.
Určuje položku klíče SSH pro soubor known_hosts.
veřejný klíč sshPublicKey
- SSH
string
.
Volitelný. Určuje obsah veřejného klíče SSH.
sshPassphrase
-
přístupové fráze SSH
string
.
Volitelný. Určuje přístupové heslo pro klíč SSH, pokud existuje.
klíče SSH sshKeySecureFile
-
string
. Povinné.
Určuje klíč SSH, který se nahrál do Secure Files
pro instalaci do agenta.
addEntryToConfig
-
Přidání položky do konfiguračního SSH
boolean
. Výchozí hodnota: false
.
Volitelný. Přidá položku související s klíčem, který byl nainstalován do konfiguračního souboru SSH. Soubor klíče bude k dispozici pro všechny následné úlohy.
configHostAlias
-
alias
string
. Požadováno při addEntryToConfig = true
.
Určuje název položky konfigurace SSH.
configHostname
-
název hostitele
string
. Požadováno při addEntryToConfig = true
.
Určuje vlastnost názvu hostitele položky konfigurace SSH.
configUser
-
uživatele
string
. Volitelný. Používá se při addEntryToConfig = true
.
Určuje vlastnost uživatelského jména položky konfigurace SSH.
configPort
-
port
string
. Volitelný. Používá se při addEntryToConfig = true
.
Určuje port položky konfigurace SSH.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.
Výstupní proměnné
Žádné.
Poznámky
Tuto úlohu v kanálu použijte k instalaci klíče SSH před krokem sestavení nebo verze.
Poznámka:
Tato úloha vyžadovala Git Bash pro Windows v agentu.
Využití a osvědčené postupy
Pokud nainstalujete klíč SSH do hostovaných fondů, v pozdějších krocích v kanálu se můžete připojit ke vzdálenému systému, ve kterém je již zaveden odpovídající veřejný klíč. Můžete se například připojit k úložišti Git nebo k virtuálnímu počítači v Azure.
Doporučujeme, abyste do konfigurace úlohy nepředávejte veřejný klíč jako prostý text. Místo toho nastavit proměnnou tajného kódu v kanálu pro obsah souboru mykey.pub
. Potom volejte proměnnou v definici kanálu jako $(myPubKey)
. Pro část tajného klíče použijte knihovnu Secure File v Azure Pipelines.
Pokud chcete vytvořit úlohu, použijte následující příklad dobře nakonfigurované úlohy instalace klíče SSH:
steps:
- task: InstallSSHKey@0
displayName: 'Install an SSH key'
inputs:
knownHostsEntry: 'SHA256:1Hyr55tsxGifESBMc0s+2NtutnR/4+LOkVwrOGrIp8U johndoe@contoso'
sshPublicKey: '$(myPubKey)'
sshKeySecureFile: 'id_rsa'
Poznámka:
Váš veřejný klíč by se měl přidat do úložiště\organizace; jinak dojde k problémům s přístupem. V případě GitHubu postupujte podle pokynů výše uvedených. Pro Azure DevOps Services použijte Přidání veřejného klíče do azure DevOps Services/TFS.
Instalace několika klíčů SSH ve stejné úloze kanálu
Při použití více než jednoho klíče ve stejné úloze kanálu se ve výchozím nastavení použije první klíč. Chcete-li při navazování připojení SSH použít požadovaný klíč, můžete pomocí oddílu Advanced
úlohy InstallSSHKey
nastavit následující parametry: addEntryToConfig
, configHostAlias
, configHostname
, configUser
a configPort
.
Tyto parametry umožňují přidat hostitele do konfiguračního souboru SSH (například /root/.ssh/config
pro Linux), aby ho bylo možné použít ve vlastních skriptech prostřednictvím aliasu.
Po dokončení sestavení se úloha pokusí obnovit původní konfigurační soubor SSH. Pokud nebyl zpočátku žádný konfigurační soubor SSH, hostitel se odebere z agenta.
Příklad instalace několika klíčů SSH. Případ s několika úložišti GitHubu a jejich vlastním klíčem pro každou z nich:
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
související dokumenty GitHubu.
Příklady
Příklad nastavení pomocí GitHubu
Tato část popisuje, jak používat privátní úložiště GitHubu s YAML z azure Pipelines.
Pokud máte úložiště, které nechcete zpřístupnit opensourcové komunitě, je běžným postupem nastavit úložiště jako soukromé. Pokud ale chcete ke správě úložiště použít nástroj CI/CD, jako je Azure DevOps, potřebuje přístup k úložišti. Pokud chcete udělit přístup k Azure DevOps, možná budete potřebovat klíč SSH k ověření přístupu k GitHubu.
Tady je postup použití klíče SSH k ověření přístupu k GitHubu:
Vygenerování páru klíčů pro ověření přístupu z GitHubu do Azure DevOps:
V GitBash spusťte následující příkaz:
ssh-keygen -t rsa
Zadejte název páru klíčů SSH. V našem příkladu používáme myKey.
(Volitelné) Můžete zadat přístupové heslo pro šifrování privátního klíče. Tento krok je volitelný. Použití přístupového hesla je bezpečnější než použití hesla.
ssh-keygen
vytvoří páry klíčů SSH a zobrazí se následující zpráva o úspěchu:V Průzkumníku souborů Windows zkontrolujte nově vytvořený pár klíčů:
Přidejte veřejný klíč do úložiště GitHub. (Veřejný klíč končí na ".pub"). Uděláte to tak, že v prohlížeči přejdete na následující adresu URL:
https://github.com/(organization-name)/(repository-name)/settings/keys
.Vyberte Přidat klíč nasazení.
V dialogovém okně Přidat nový zadejte název a zkopírujte a vložte klíč SSH:
Vyberte Přidat klíč.
Nahrání privátního klíče do Azure DevOps:
V Azure DevOps v nabídce vlevo vyberte Pipelines>Library.
Vyberte Soubory zabezpečení>+zabezpečeného souboru:
Vyberte Procházeta pak vyberte privátní klíč:
Obnovte položku Známých hostitelů. V GitBash zadejte následující příkaz:
ssh-keyscan github.com
Položka Známých hostitelů je zobrazená hodnota, která ve výsledcích GitBash nezačíná #:
Vytvořte kanál YAML.
Pokud chcete vytvořit kanál YAML, přidejte v definici YAML následující úlohu:
- 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}
Klíče SSH jsou teď nainstalované a můžete pokračovat ve skriptu pro připojení pomocí SSH, nikoli pomocí výchozího protokolu HTTPS.
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasické sestavení, klasická verze |
Běží na | Agent, DeploymentGroup |
požadavky | Žádný |
možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
omezení příkazů | Tato úloha se spouští s následujícími omezeními příkazů : omezeno: |
nastavitelné proměnné | Tento úkol má oprávnění nastavit následující proměnné: SSH_AGENT_PID, SSH_AUTH_SOCK, INSTALL_SSH_KEY_CONFIG_LOCATION, INSTALL_SSH_KEY_KNOWN_HOSTS_LOCATION |
Verze agenta | 2.182.1 nebo vyšší |
Kategorie úkolu | Užitnost |
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasické sestavení, klasická verze |
Běží na | Agent, DeploymentGroup |
požadavky | Žádný |
možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
omezení příkazů | Jakýkoliv |
nastavitelné proměnné | Jakýkoliv |
Verze agenta | 2.117.0 nebo novější |
Kategorie úkolu | Užitnost |