เริ่ม ssh ใน conemu


8

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

คำตอบ:


6

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

Git Bash Task

คำสั่งที่ฉันใช้คือ:

% 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 ของฉันสำหรับการอ้างอิง


3
cmd /c เกินจริงเว้นแต่คุณจะต้องตั้งค่าตัวแปรสภาพแวดล้อมใด ๆ ก่อนที่จะใช้ ssh.exe หากคุณไม่จำเป็นต้องตั้งค่าสภาพแวดล้อมคุณอาจเรียกใช้ ssh.exe โดยตรงโดยไม่มี "cmd / c"
Maximus

ถ้าฉันเรียกใช้โดยตรงมันไม่ได้แนบกับ conemu ฉันควรทำอย่างไรดี ?
Car981

1
@ Car981 คุณจำเป็นที่จะต้องเพิ่มว่าไปงานเช่นนี้ ดูที่-new_console อีกครั้ง
Justin Dearing

2
ฉันต้องใช้bash.exe -c "ssh ..."มากกว่าbash.exe --exec "ssh ..."
Michael

3

นี่เป็นวิธีที่ดูเหมือนไร้สาระที่สุดในการรับงาน SSH และทำงานผ่าน ConEmu ต้องใช้การกำหนดค่าอีกเล็กน้อย แต่ก็คุ้มค่าในที่สุด

สร้างคีย์ ssh

ขั้นตอนจากคำตอบที่ดีเยี่ยมที่นี่: /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

เพิ่มงานสำหรับ ssh

  • เปิดการตั้งค่า ConEmu ไปที่ Startup-> Tasks
  • คลิก +
  • ตั้งชื่อภารกิจบางอย่าง (ฉันใช้ "ssh")
  • ในกล่องข้อความขนาดใหญ่สำหรับคำสั่งแท็บและอื่น ๆ ให้วางคำสั่งใหม่:
    • ""C:\Program Files\Cmder\vendor\git-for-windows\bin\sh.exe" -exec "/usr/bin/ssh id@server""
    • แทนที่ id และเซิร์ฟเวอร์ของคุณเอง

(ไม่บังคับ) ตั้งค่าภารกิจเป็นงานเริ่มต้น

  • สลับไปที่หน้าต่างการตั้งค่าหลัก "เริ่มต้น"
  • ใน "ตัวเลือกการเริ่มต้น" เลือกปุ่มตัวเลือก "งานที่ระบุชื่อ"
    • จากดรอปดาวน์เลือกชื่องานของคุณ (ssh ในกรณีของฉัน)
  • บันทึกการตั้งค่า

หากคุณทำทุกอย่างถูกต้องคอนโซลของคุณจะเริ่มต้นและ ssh ลงในเซิร์ฟเวอร์ที่คุณเลือกโดยไม่ต้องใช้รหัสผ่านเนื่องจากคุณใช้รหัสผ่าน


2

C:\cygwin64\bin\bash.exe --login -i -c "ssh myUser@myServer"

-c จะดำเนินการคำสั่งสตริงต่อไปนี้โดยอัตโนมัติหลังจากเข้าสู่ระบบให้คุณ


คำตอบอื่น ๆ สำหรับคำถามนี้ค่อนข้างกว้างขวางคุณสามารถอธิบายรายละเอียดเกี่ยวกับเรื่องนี้ได้ทั้งหมดหรือไม่?
bertieb

เพิ่มบางส่วนเพิ่มเติม
meffect
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.