ฉันจะตั้งค่าทางลัดใน 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"