Risposte:
Quindi iniziamo con come avviare cygwin bash in una nuova scheda. Nel mio esempio sto usando cygwin bash di msys-git perché è quello che ho installato:
Il comando che uso è:
% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Programmi (x86) \ Git \ bin \ sh.exe "--login -i"
Quindi questa è una shell interattiva. Se voglio eseguire ls dall'interno di Cygwin Bash, posso usare al sh -exec
posto di sh --login -i
Sarebbe simile a questo:
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>
Quindi probabilmente puoi iniziare ssh da cygwin bash con qualcosa del tipo:
% systemroot% \ SysWOW64 \ cmd.exe / c "" C: \ Programmi (x86) \ Git \ bin \ sh.exe "-exec" / usr / bin / ssh Car981@linuxbox.domain.com ""
Potrebbe essere necessario giocare con le virgolette. Suggerirei di guardare le mie attività conemu come riferimento.
bash.exe -c "ssh ..."
piuttosto chebash.exe --exec "ssh ..."
Questo è il modo più apparente per avviare un'attività SSH in esecuzione su ConEmu. Richiede un po 'più di configurazione, ma alla fine ne vale la pena.
Passaggi dalla risposta eccellente qui: /server/241588/how-to-automate-ssh-login-with-password . ssh-keygen ti farà alcune domande. Le risposte predefinite vanno bene. Se vuoi andare con una passphrase vuota, va bene lo stesso. Tieni il tuo file di chiavi al sicuro. Sostituisci ID, server e password con le tue credenziali.
$ ssh-keygen -t rsa -b 2048
$ ssh-copy-id id@server password
$ ssh id@server
""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
Se hai fatto tutto correttamente, la tua console si avvierà e si collegherà al tuo server preferito, senza password poiché stai usando una passkey.
C:\cygwin64\bin\bash.exe --login -i -c "ssh myUser@myServer"
-c eseguirà automaticamente il seguente comando stringa dopo aver effettuato l'accesso
cmd /c
è in effetti in eccesso, a meno che non sia necessario impostare alcuna variabile di ambiente prima di eseguire ssh.exe. Se non è necessario configurare l'ambiente, è possibile eseguire ssh.exe direttamente, senza "cmd / c".