ฉันจะตั้งค่าทางลัดใน conEmu ให้เปิดแท็บใหม่โดยอัตโนมัติด้วย cygwin ได้อย่างไรและเริ่มคำสั่งที่กำหนดโดยอัตโนมัติ (พูด, ssh)
ฉันจะตั้งค่าทางลัดใน conEmu ให้เปิดแท็บใหม่โดยอัตโนมัติด้วย cygwin ได้อย่างไรและเริ่มคำสั่งที่กำหนดโดยอัตโนมัติ (พูด, ssh)
คำตอบ:
ดังนั้นเริ่มต้นด้วยวิธีการเปิดใช้ cygwin bash ในแท็บใหม่ ในตัวอย่างของฉันฉันกำลังใช้ cygwin ทุบตีของ msys-git เพราะนั่นคือสิ่งที่ฉันได้ติดตั้ง:

คำสั่งที่ฉันใช้คือ:
% systemroot% \ SysWOW64 \ cmd.exe / c "" ไฟล์ C: \ Program (x86) \ Git \ bin \ sh.exe "--login -i"
นั่นคือเปลือกโต้ตอบ หากฉันต้องการเรียกใช้ ls จากด้านในของ cygwin bash ฉันสามารถใช้sh -exec  แทนsh --login -iมันจะมีลักษณะเช่นนี้:
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>
ดังนั้นคุณอาจเริ่ม ssh จาก cygwin bash ด้วยบางสิ่งเช่น:
% systemroot% \ SysWOW64 \ cmd.exe / c "" ไฟล์ C: \ Program (x86) \ Git \ bin \ sh.exe "-exec" / usr / bin / ssh Car981@linuxbox.domain.com ""
คุณอาจจะต้องเล่นกับคำพูด ฉันขอแนะนำให้ดูงาน conemu ของฉันสำหรับการอ้างอิง
bash.exe -c "ssh ..."มากกว่าbash.exe --exec "ssh ..."
                    นี่เป็นวิธีที่ดูเหมือนไร้สาระที่สุดในการรับงาน SSH และทำงานผ่าน ConEmu ต้องใช้การกำหนดค่าอีกเล็กน้อย แต่ก็คุ้มค่าในที่สุด
ขั้นตอนจากคำตอบที่ดีเยี่ยมที่นี่: /server/241588/how-to-automate-ssh-login-with-password ssh-keygen จะถามคำถามคุณสองสามข้อ คำตอบเริ่มต้นนั้นใช้ได้ ถ้าคุณต้องการไปด้วยวลีรหัสผ่านที่ว่างเปล่ามันก็ใช้ได้เช่นกัน เพียงแค่ทำให้ keyfile ของคุณปลอดภัย แทนที่ id เซิร์ฟเวอร์และรหัสผ่านด้วยข้อมูลประจำตัวของคุณ
$ 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""หากคุณทำทุกอย่างถูกต้องคอนโซลของคุณจะเริ่มต้นและ ssh ลงในเซิร์ฟเวอร์ที่คุณเลือกโดยไม่ต้องใช้รหัสผ่านเนื่องจากคุณใช้รหัสผ่าน
cmd /cเกินจริงเว้นแต่คุณจะต้องตั้งค่าตัวแปรสภาพแวดล้อมใด ๆ ก่อนที่จะใช้ ssh.exe หากคุณไม่จำเป็นต้องตั้งค่าสภาพแวดล้อมคุณอาจเรียกใช้ ssh.exe โดยตรงโดยไม่มี "cmd / c"