Wie kann ich in conEmu eine Verknüpfung festlegen, um automatisch eine neue Registerkarte mit cygwin zu öffnen und einen bestimmten Befehl (z. B. ssh) automatisch zu starten?
Beginnen wir also damit, wie Sie Cygwin Bash in einem neuen Tab starten. In meinem Beispiel verwende ich die Cygwin-Bash von msys-git, weil ich Folgendes installiert habe:
Der Befehl, den ich benutze, ist:
% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Programme (x86) \ Git \ bin \ sh.exe "--login -i"
Das ist also eine interaktive Shell. Wenn ich ls innerhalb von Cygwin Bash ausführen möchte, kann ich sh -exec
stattdessen Folgendes verwenden : sh --login -i
Es würde folgendermaßen aussehen:
C:\Users\JDearing>"C:\Program Files (x86)\Git\bin\sh.exe" -exec "/bin/ls c:\\"
+ /bin/ls c:
$Recycle.Bin VC_RED.MSI install.exe
BOOTSECT.BAK VC_RED.cab install.ini
Chocolatey Windows install.res.1028.dll
Documents and Settings boot install.res.1031.dll
EntLib41Src bootmgr install.res.1033.dll
Intel eula.1028.txt install.res.1036.dll
MSOCache eula.1031.txt install.res.1040.dll
PerfLogs eula.1033.txt install.res.1041.dll
Program Files eula.1036.txt install.res.1042.dll
Program Files (x86) eula.1040.txt install.res.2052.dll
ProgramData eula.1041.txt install.res.3082.dll
Recovery eula.1042.txt old_machine
RiskWorks eula.2052.txt pagefile.sys
SWSetup eula.3082.txt profiles
SafeBoot.fs globdata.ini sysinternals
SafeBoot.rsv hiberfil.sys vcredist.bmp
System Volume Information ilspy
Users inetpub
C:\Users\JDearing>
Sie können ssh also wahrscheinlich von cygwin bash aus starten mit etwas wie:
% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Programme (x86) \ Git \ bin \ sh.exe "-exec" / usr / bin / ssh [email protected] ""
Möglicherweise müssen Sie mit Anführungszeichen spielen. Ich würde vorschlagen, meine Conemu-Aufgaben als Referenz zu betrachten.
cmd /c
ist in der Tat übermäßig, es sei denn, Sie müssen Umgebungsvariablen einrichten, bevor Sie ssh.exe ausführen. Wenn Sie keine Umgebung einrichten müssen, können Sie ssh.exe direkt ohne "cmd / c" ausführen.bash.exe -c "ssh ..."
eher alsbash.exe --exec "ssh ..."
Dies ist der scheinbar einfachste Weg, um eine SSH-Aufgabe über ConEmu zum Laufen zu bringen. Benötigt etwas mehr Konfiguration, aber es lohnt sich am Ende.
Generieren Sie einen SSH-Schlüssel
Schritte von einer ausgezeichneten Antwort hier: /server/241588/how-to-automate-ssh-login-with-password . ssh-keygen wird Ihnen einige Fragen stellen. Die Standardantworten sind in Ordnung. Wenn Sie mit einer leeren Passphrase arbeiten möchten, ist das auch in Ordnung. Bewahren Sie einfach Ihre Schlüsseldatei auf. Ersetzen Sie ID, Server und Passwort durch Ihre Anmeldeinformationen.
Fügen Sie eine Aufgabe für ssh hinzu
""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
(Optional) Legen Sie die Aufgabe als Standardaufgabe fest
Wenn Sie alles richtig gemacht haben, wird Ihre Konsole gestartet und auf dem Server Ihrer Wahl ssh, ohne dass ein Kennwort erforderlich ist, da Sie einen Passkey verwenden.
quelle
C:\cygwin64\bin\bash.exe --login -i -c "ssh myUser@myServer"
Das -c führt den folgenden Zeichenfolgenbefehl automatisch aus, nachdem Sie sich für Sie angemeldet haben
quelle