Megosztás a következőn keresztül:


InstallSSHKey@0 – SSH-kulcs v0-feladat telepítése

Ezt a feladatot egy folyamatban használva telepíthet egy SSH-kulcsot a buildelési vagy kiadási lépés előtt.

Syntax

# 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.
# 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. Required. SSH Public Key. 
    #sshPassphrase: # string. SSH Passphrase. 
    sshKeySecureFile: # string. Required. SSH Key.
# Install SSH Key v0
# Install an SSH key prior to a build or release.
- task: InstallSSHKey@0
  inputs:
    hostName: # string. Required. Known Hosts Entry. 
    sshPublicKey: # string. Required. SSH Public Key. 
    #sshPassphrase: # string. SSH Passphrase. 
    sshKeySecureFile: # string. Required. SSH Key.

Bevitelek

knownHostsEntry - Ismert gazdagépek bejegyzése
Bemeneti alias: hostName. string. Kötelező.

Megadja a known_hosts fájl SSH-kulcsbejegyzését.


sshPublicKey - Nyilvános SSH-kulcs
string.

Választható. Megadja a nyilvános SSH-kulcs tartalmát.


sshPublicKey - Nyilvános SSH-kulcs
string. Kötelező.

Megadja a nyilvános SSH-kulcs tartalmát.


sshPassphrase - SSH-jelszó
string.

Választható. Megadja az SSH-kulcs (ha van) jelszavát.


sshKeySecureFile - SSH-kulcs
string. Kötelező.

Megadja azt az SSH-kulcsot, amely az ügynökre való telepítéshez lett feltöltve Secure Files .


addEntryToConfig - Bejegyzés hozzáadása az SSH-konfigurációhoz
boolean. Alapértelmezett érték: false.

Választható. Hozzáad egy bejegyzést az SSH-konfigurációs fájlhoz telepített kulcshoz. A kulcsfájl minden további feladathoz elérhető lesz.


configHostAlias - Alias
string. Akkor szükséges, ha addEntryToConfig = true.

Megadja az SSH-konfigurációs bejegyzés nevét.


configHostname - Állomásnév
string. Akkor szükséges, ha addEntryToConfig = true.

Megadja az SSH-konfigurációs bejegyzés állomásnév tulajdonságát.


configUser - Felhasználó
string. Választható. Használja a következőt: addEntryToConfig = true.

Megadja az SSH-konfigurációs bejegyzés felhasználónév tulajdonságát.


configPort - Port
string. Választható. Használja a következőt: addEntryToConfig = true.

Az SSH konfigurációs bejegyzés portját adja meg.


hostName - Ismert gazdagépek bejegyzése
string. Kötelező.

Megadja a known_hosts fájl SSH-kulcsbejegyzését.


Tevékenységvezérlési beállítások

A tevékenységbemeneteken kívül minden tevékenység rendelkezik vezérlési lehetőségekkel. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.

Kimeneti változók

Nincsenek.

Megjegyzések

Ezt a feladatot egy folyamatban használva telepíthet egy SSH-kulcsot a buildelési vagy kiadási lépés előtt.

Megjegyzés

Ehhez a feladathoz a Windowshoz készült Git Bash szükséges az ügynökön.

Használat és ajánlott eljárások

Ha az üzemeltetett készletekben telepít egy SSH-kulcsot, a folyamat későbbi lépéseiben csatlakozhat egy olyan távoli rendszerhez, amelyben a megfelelő nyilvános kulcs már telepítve van. Csatlakozhat például egy Git-adattárhoz vagy egy Azure-beli virtuális géphez.

Javasoljuk, hogy ne adja át a nyilvános kulcsot egyszerű szövegként a feladat konfigurációjának. Ehelyett állítson be egy titkos változót a folyamatban a fájl tartalmához mykey.pub . Ezután hívja meg a változót a folyamatdefinícióban a következőként: $(myPubKey). A kulcs titkos részének használatához használja a Biztonságos fájl kódtárat az Azure Pipelinesban.

A feladat létrehozásához használja az alábbi példát egy jól konfigurált SSH-kulcs telepítése feladatra:

steps:
- task: InstallSSHKey@0
  displayName: 'Install an SSH key'
  inputs:
    knownHostsEntry: 'SHA256:1Hyr55tsxGifESBMc0s+2NtutnR/4+LOkVwrOGrIp8U johndoe@contoso'
    sshPublicKey: '$(myPubKey)'
    sshKeySecureFile: 'id_rsa'

Megjegyzés

A nyilvános kulcsot hozzá kell adni az adattárhoz\szervezethez; ellenkező esetben hozzáférési problémák lépnek fel. A GitHub esetében kövesse a fenti útmutatót. Az Azure DevOps Services esetében használja a Nyilvános kulcs hozzáadása az Azure DevOps Serviceshez/TFS-hez lehetőséget.

Több SSH-kulcs telepítése ugyanabban a folyamatfeladatban

Ha több kulcsot használ ugyanabban a folyamatfeladatban, a rendszer alapértelmezés szerint az elsőt használja. Ha használni szeretné a kívánt kulcsot egy SSH-kapcsolat létrehozásakor, a Advanced feladat szakaszában InstallSSHKey a következő paramétereket állíthatja be: addEntryToConfig, configHostAlias, configHostname, configUserés configPort.

Ezek a paraméterek lehetővé teszik egy gazdagép hozzáadását az SSH konfigurációs fájlhoz (például /root/.ssh/config Linux esetén), hogy aliason keresztül egyéni szkriptekben használhassa.

A buildelés befejezése után a feladat megpróbálja visszaállítani az eredeti SSH-konfigurációs fájlt. Ha kezdetben nem volt SSH-konfigurációs fájl, akkor a gazdagép el lesz távolítva az ügynökből.

Példa több SSH-kulcs telepítésére. Az eset több GitHub-adattárral és saját kulccsal rendelkezik mindegyikhez:

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

Kapcsolódó GitHub-dokumentumok.

Példák

Példa a GitHub használatával történő beállításra

Ez a szakasz azt ismerteti, hogyan használhat privát GitHub-adattárat YAML-lel az Azure Pipelinesban.

Ha olyan adattárral rendelkezik, amelyet nem szeretne elérhetővé tenni a nyílt forráskódú közösség számára, az adattár privátsá tétele gyakori eljárás. Egy CI/CD-eszköznek, például az Azure DevOpsnak azonban hozzá kell férnie az adattárhoz, ha az eszközzel szeretné kezelni az adattárat. Az Azure DevOps-hozzáférés biztosításához szükség lehet egy SSH-kulcsra a GitHubhoz való hozzáférés hitelesítéséhez.

A GitHubhoz való hozzáférés hitelesítéséhez kövesse az SSH-kulcs használatával történő hitelesítés lépéseit:

  1. Hozzon létre egy kulcspárt a GitHubról az Azure DevOpsba való hozzáférés hitelesítéséhez:

    1. A GitBash-ban futtassa a következő parancsot:

      ssh-keygen -t rsa
      
    2. Adja meg az SSH-kulcspár nevét. A példánkban a myKey parancsot használjuk.

      Képernyőkép az SSH-kulcspár nevének megadására szolgáló GitBash-kérdésről.

    3. (Nem kötelező) A titkos kulcs titkosításához megadhat egy jelszót. Ez a lépés nem kötelező. A jelszó használata biztonságosabb, mint az egyik használata.

      Képernyőkép az SSH-kulcspárhoz tartozó jelszó megadására szolgáló GitBash-üzenetről.

      ssh-keygen létrehozza az SSH-kulcspárokat, és megjelenik a következő sikeres üzenet:

      Képernyőkép a GitBash-üzenetről, amely azt mutatja, hogy SSH-kulcspár jött létre.

    4. A Windows Fájlkezelő ellenőrizze az újonnan létrehozott kulcspárt:

      Képernyőkép a Windows Fájlkezelő kulcspárfájljairól.

  2. Adja hozzá a nyilvános kulcsot a GitHub-adattárhoz. (A nyilvános kulcs ".pub" végződésű). Ehhez nyissa meg a következő URL-címet a böngészőben: https://github.com/(organization-name)/(repository-name)/settings/keys.

    1. Válassza az Üzembehelyezési kulcs hozzáadása lehetőséget.

    2. Az Új hozzáadása párbeszédpanelen adjon meg egy címet, majd másolja és illessze be az SSH-kulcsot:

      Képernyőkép az Új hozzáadása párbeszédpanelről.

    3. Válassza a Kulcs hozzáadása lehetőséget.

  3. Töltse fel a titkos kulcsot az Azure DevOpsba:

    1. Az Azure DevOps bal oldali menüjében válassza a Pipelines>Library elemet.

      Képernyőkép az Azure Pipelines menüről.

    2. Válassza a Biztonságos fájlok>+ Biztonságos fájl lehetőséget:

      Képernyőkép a Biztonságos fájlok menüről.

    3. Válassza a Tallózás lehetőséget, majd válassza ki a titkos kulcsot:

      Képernyőkép a Fájl feltöltése párbeszédpanelről és a Tallózás gombra.

  4. Állítsa helyre az "Ismert gazdagépek bejegyzést". A GitBash-ban adja meg a következő parancsot:

    ssh-keyscan github.com
    

    Az "Ismert gazdagépek bejegyzés" az a megjelenített érték, amely nem kezdődik # a GitBash-eredményekben:

    Képernyőkép a GitBash fő keresési eredményeiről.

  5. HOZZon létre egy YAML-folyamatot.

    YAML-folyamat létrehozásához a YAML-definícióban adja hozzá a következő feladatot:

    - 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}
    

Az SSH-kulcsok telepítve vannak, és folytathatja a szkripttel a csatlakozást SSH-val, nem pedig az alapértelmezett HTTPS-vel.

Követelmények

Követelmény Leírás
Folyamattípusok YAML, klasszikus build, klasszikus kiadás
Futtatás: Ügynök, DeploymentGroup
Igények None
Képességek Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek.
Parancskorlátozások Ez a feladat a következő parancskorlátozásokkal fut: korlátozott
Változók beállítása Ez a feladat a következő változók beállítására jogosult: SSH_AGENT_PID, SSH_AUTH_SOCK, INSTALL_SSH_KEY_CONFIG_LOCATION, INSTALL_SSH_KEY_KNOWN_HOSTS_LOCATION
Ügynök verziója 2.182.1 vagy újabb
Feladatkategória Segédprogram
Követelmény Leírás
Folyamattípusok YAML, klasszikus build, klasszikus kiadás
Futtatás: Ügynök, DeploymentGroup
Igények None
Képességek Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek.
Parancskorlátozások Bármelyik
Változók beállítása Bármelyik
Ügynök verziója 2.117.0 vagy újabb
Feladatkategória Segédprogram