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:
Hozzon létre egy kulcspárt a GitHubról az Azure DevOpsba való hozzáférés hitelesítéséhez:
A GitBash-ban futtassa a következő parancsot:
ssh-keygen -t rsa
Adja meg az SSH-kulcspár nevét. A példánkban a myKey parancsot használjuk.
(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.
ssh-keygen
létrehozza az SSH-kulcspárokat, és megjelenik a következő sikeres üzenet:A Windows Fájlkezelő ellenőrizze az újonnan létrehozott kulcspárt:
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
.Válassza az Üzembehelyezési kulcs hozzáadása lehetőséget.
Az Új hozzáadása párbeszédpanelen adjon meg egy címet, majd másolja és illessze be az SSH-kulcsot:
Válassza a Kulcs hozzáadása lehetőséget.
Töltse fel a titkos kulcsot az Azure DevOpsba:
Az Azure DevOps bal oldali menüjében válassza a Pipelines>Library elemet.
Válassza a Biztonságos fájlok>+ Biztonságos fájl lehetőséget:
Válassza a Tallózás lehetőséget, majd válassza ki a titkos kulcsot:
Á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:
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 |