SSH@0 – SSH v0-Aufgabe
Verwenden Sie diese Aufgabe, um Shellbefehle oder ein Skript auf einem Remotecomputer mit SSH auszuführen. Mit dieser Aufgabe können Sie eine Verbindung mit einem Remotecomputer mithilfe von SSH herstellen und Befehle oder ein Skript ausführen.
Syntax
# SSH v0
# Run shell commands or a script on a remote machine using SSH.
- task: SSH@0
inputs:
sshEndpoint: # string. Required. SSH service connection.
runOptions: 'commands' # 'commands' | 'script' | 'inline'. Required. Run. Default: commands.
commands: # string. Required when runOptions = commands. Commands.
#scriptPath: # string. Required when runOptions = script. Shell script path.
#inline: # string. Required when runOptions = inline. Inline Script.
#interpreterCommand: '/bin/bash' # string. Optional. Use when runOptions = inline. Interpreter command. Default: /bin/bash.
#args: # string. Optional. Use when runOptions = script. Arguments.
# Advanced
#failOnStdErr: true # boolean. Fail on STDERR. Default: true.
#interactiveSession: false # boolean. Enable interactive session. Default: false.
readyTimeout: '20000' # string. Required. SSH handshake timeout. Default: 20000.
#interactiveKeyboardAuthentication: false # boolean. Use interactive-keyboard authentication. Default: false.
# SSH v0
# Run shell commands or a script on a remote machine using SSH.
- task: SSH@0
inputs:
sshEndpoint: # string. Required. SSH service connection.
runOptions: 'commands' # 'commands' | 'script' | 'inline'. Required. Run. Default: commands.
commands: # string. Required when runOptions = commands. Commands.
#scriptPath: # string. Required when runOptions = script. Shell script path.
#inline: # string. Required when runOptions = inline. Inline Script.
#interpreterCommand: '/bin/bash' # string. Optional. Use when runOptions = inline. Interpreter command. Default: /bin/bash.
#args: # string. Optional. Use when runOptions = script. Arguments.
# Advanced
#failOnStdErr: true # boolean. Fail on STDERR. Default: true.
#interactiveSession: false # boolean. Enable interactive session. Default: false.
readyTimeout: '20000' # string. Required. SSH handshake timeout. Default: 20000.
# SSH v0
# Run shell commands or a script on a remote machine using SSH.
- task: SSH@0
inputs:
sshEndpoint: # string. Required. SSH service connection.
runOptions: 'commands' # 'commands' | 'script' | 'inline'. Required. Run. Default: commands.
commands: # string. Required when runOptions = commands. Commands.
#scriptPath: # string. Required when runOptions = script. Shell script path.
#inline: # string. Required when runOptions = inline. Inline Script.
#args: # string. Optional. Use when runOptions = script. Arguments.
# Advanced
#failOnStdErr: true # boolean. Fail on STDERR. Default: true.
readyTimeout: '20000' # string. Required. SSH handshake timeout. Default: 20000.
Eingänge
sshEndpoint
-
SSH-Dienstverbindung
string
. Erforderlich.
Gibt den Namen einer SSH-Dienstverbindung an, die Verbindungsdetails für den Remotecomputer enthält. Der Hostname oder die IP-Adresse des Remotecomputers, die Portnummer und der Benutzername sind erforderlich, um eine SSH-Dienstverbindung zu erstellen.
- Der private Schlüssel und die Passphrase müssen für die Authentifizierung angegeben werden.
- Ein Kennwort kann zur Authentifizierung bei Remote-Linux-Computern verwendet werden, dies wird jedoch für macOS- oder Windows-Systeme nicht unterstützt.
runOptions
-
Ausführen von
string
. Erforderlich. Zulässige Werte: commands
, script
(Skriptdatei), inline
(Inlineskript). Standardwert: commands
.
Führt Shellbefehle oder ein Shellskript auf dem Remotecomputer aus.
commands
-
Befehle
string
. Erforderlich, wenn runOptions = commands
.
Gibt die Shellbefehle an, die auf dem Remotecomputer ausgeführt werden sollen. Dieser Parameter ist nur verfügbar, wenn Befehle für die Option Ausführen ausgewählt ist. Geben Sie jeden Befehl zusammen mit den zugehörigen Argumenten in eine neue Zeile des mehrzeiligen Textfelds ein. Wenn Sie mehrere Befehle zusammen ausführen möchten, geben Sie sie in derselben Zeile ein, die durch Semikolons getrennt ist. Beispiel: cd /home/user/myFolder;build
.
Hinweis
Jeder Befehl wird in einem separaten Prozess ausgeführt. Wenn Sie eine Reihe von Befehlen ausführen möchten, die interdependent sind (z. B. ändern Sie den aktuellen Ordner vor dem Ausführen eines Befehls), verwenden Sie stattdessen die Option Inlineskript.
scriptPath
-
Shellskriptpfad
string
. Erforderlich, wenn runOptions = script
.
Gibt den Pfad zur Shellskriptdatei an, die auf dem Remotecomputer ausgeführt werden soll. Dieser Parameter ist nur verfügbar, wenn Shellskript für die Option Ausführen ausgewählt ist.
inline
-
Inlineskript-
string
. Erforderlich, wenn runOptions = inline
.
Schreibt das Shellskript, das auf dem Remotecomputer ausgeführt werden soll.
interpreterCommand
-
Dolmetscherbefehl
string
. Wahlfrei. Wird verwendet, wenn runOptions = inline
. Standardwert: /bin/bash
.
Gibt den Pfad zum Befehlsdolmetscher an, der zum Ausführen des Skripts verwendet wird. Fügt am Anfang des Skripts eine Shebang-Linie hinzu. Nur für UNIX-ähnliche Betriebssysteme relevant. Verwenden Sie eine leere Zeichenfolge für Windows-basierte Remotehosts. Erfahren Sie mehr über Shebang (#!).
args
-
Argumente
string
. Wahlfrei. Wird verwendet, wenn runOptions = script
.
Gibt die Argumente an, die an das Shellskript übergeben werden sollen. Dieser Parameter ist nur verfügbar, wenn Shellskript für die Option Ausführen ausgewählt ist.
failOnStdErr
-
bei STDERR- fehlschlagen
boolean
. Standardwert: true
.
Wenn der Wert true
ist, schlägt der Build fehl, wenn die Remotebefehle oder Skripts in STDERR
schreiben.
interactiveSession
-
Interaktive Sitzung aktivieren
boolean
. Standardwert: false
.
Startet eine interaktive Sitzung. Kennwortanforderungen werden durch das Kennwort des Benutzers ausgefüllt. Interaktive Sitzungen können für die Ausführung von Befehlen nützlich sein, z. B. sudo
.
readyTimeout
-
SSH-Handshake-Timeout
string
. Erforderlich. Standardwert: 20000
.
Gibt an, wie lange (in Millisekunden) die Aufgabe wartet, bis der SSH-Handshake abgeschlossen ist.
interactiveKeyboardAuthentication
-
Verwenden der interaktiven Tastaturauthentifizierung
boolean
. Standardwert: false
.
Aktiviert die interaktive Tastaturauthentifizierung. Legen Sie auf true
fest, wenn Ihr Ziel-SSH-Server die interaktive Tastaturauthentifizierung erfordert (PasswordAuthentication
ist auf dem Zielcomputer deaktiviert/in sshd_config auf "Nein" festgelegt).
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Keiner.
Bemerkungen
Verwenden Sie diese Aufgabe, um Shellbefehle oder ein Skript auf einem Remotecomputer mit SSH auszuführen. Mit dieser Aufgabe können Sie eine Verbindung mit einem Remotecomputer mithilfe von SSH herstellen und Befehle oder ein Skript ausführen.
Voraussetzungen
- Die Aufgabe unterstützt die Verwendung eines SSH-Schlüsselpaars zum Herstellen einer Verbindung mit den Remotecomputern.
- Der öffentliche Schlüssel muss vorinstalliert oder auf die Remotecomputer kopiert werden.
Unterstützte Algorithmen
Schlüsselpaaralgorithmen
- RSA
- DSA
Verschlüsselungsalgorithmen
- aes256-cbc
- aes192-cbc
- aes128-cbc
- Blowfish-cbc
- 3des-cbc
- Arcfour256
- Arcfour128
- cast128-cbc
- Bogenfour
Für OpenSSL v1.0.1 und höher (für Agent):
- aes256-ctr
- aes192-ctr
- aes128-ctr
Für OpenSSL v1.0.1 und höher, NodeJS v0.11.12 und höher (für Agent):
- aes128-gcm
- aes128-gcm@openssh.com
- aes256-gcm
- aes256-gcm@openssh.com
Anforderungen
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.206.1 oder höher |
Vorgangskategorie | Einsetzen |
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.144.0 oder höher |
Vorgangskategorie | Einsetzen |
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.102.0 oder höher |
Vorgangskategorie | Einsetzen |
Siehe auch
- task Install SSH Key task
- Dateien über SSH- kopieren
- Blogbeitrag SSH-Buildaufgabe