มันยากที่จะเปิด Terminal ในแต่ละครั้งและเขียนคำสั่ง SSH ที่สมบูรณ์ ฉันจะสร้างทางลัดการเชื่อมต่อเทอร์มินัล SSH บน Mac OS X 10.6.8 (Snow Leopard) ได้อย่างไร
ฉันยังมีพอร์ตที่กำหนดเองเพื่อเชื่อมต่อ
มันยากที่จะเปิด Terminal ในแต่ละครั้งและเขียนคำสั่ง SSH ที่สมบูรณ์ ฉันจะสร้างทางลัดการเชื่อมต่อเทอร์มินัล SSH บน Mac OS X 10.6.8 (Snow Leopard) ได้อย่างไร
ฉันยังมีพอร์ตที่กำหนดเองเพื่อเชื่อมต่อ
คำตอบ:
คำตอบ * NIX-y ที่สุดคือการใช้คุณสมบัติของ SSH เพื่อประโยชน์ของคุณ
สร้างไฟล์ชื่อconfig
ใน~/.ssh/
(โฟลเดอร์ชื่อ.ssh
ในโฟลเดอร์ที่บ้านของคุณ) เพิ่มรายการสำหรับคอมพิวเตอร์แต่ละเครื่องที่คุณต้องการเชื่อมต่อเช่นนี้
Host compy
HostName 98.256.211.12
Port 90
User sidney
IdentityFile ~/.ssh/my_rsa_key
HostName
สามารถเป็นได้ทั้งที่อยู่ IP หรือชื่อโฮสต์จริง Port
ไม่บังคับถ้าใช้พอร์ต SSH ที่เป็นค่าเริ่มต้น IdentityFile
ไม่บังคับถ้าไม่ได้ใช้กุญแจ ssh compy
หากคุณใช้การพิสูจน์ตัวตนแบบใช้คีย์และเก็บรหัสผ่านของคีย์ไว้ใน Keychain คุณไม่จำเป็นต้องป้อนรหัสผ่าน
นอกจากนี้คุณสามารถสร้างไฟล์. คำสั่ง (ไฟล์ข้อความธรรมดาที่มีนามสกุล. คำสั่ง) ที่มีบรรทัดคำสั่งที่คุณใช้เชื่อมต่อกับเซิร์ฟเวอร์ ( ssh compy
หรือssh -i ~/.ssh/my_rsa_key -p 90 sidney@98.256.211.12
) มันจะเปิดใน Terminal และเรียกใช้คำสั่งนั้น
คุณยังสามารถใช้New Remote Connection…
รายการเมนูใน Terminal เพื่อเชื่อมต่อ เพียงเพิ่มโฮสต์ของคุณภายใต้ SSH โดยคลิกที่+ปุ่มในคอลัมน์ด้านขวา
อ่านเพิ่มเติมได้ที่นี่
คุณมีสองทางเลือกที่ฉันนึกถึง:
ในตัวแก้ไขข้อความที่คุณชื่นชอบสร้างบันทึกไฟล์ข้อความธรรมดาด้วยคำสั่ง ssh ของคุณเช่น
ssh -p 23 admin@server.example.com
WHATEVERYOUWANT.command
ชื่อแฟ้ม จากนั้นคุณต้องตั้งค่า.command
ไฟล์ด้วยสิทธิพิเศษในการใช้งาน ( chmod 755 /PATH/TO/WHATEVERYOUWANT.command
) แต่ตอนนี้คุณมีไฟล์ที่เมื่อดับเบิลคลิกแล้วจะเปิด Terminal ขึ้นมาและรันคำสั่งนั้น
สมมติว่าคุณกำลังใช้ bash (เชลล์เริ่มต้นใน Mac OS X) คุณสามารถเพิ่มชื่อแทน.bashrc
ในโฟลเดอร์บ้านของคุณ
เช่น. alias sshserver='ssh -p 23 admin@server.example.com'
คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับนามแฝงได้ที่ [Wikipedia] ( http://en.wikipedia.org/wiki/Alias_(command)หรือโดยการอ่านเอกสาร
มีหลายวิธีในการทำเช่นนี้ นี่คือสิ่งที่ฉันทำ:
เปิดการตั้งค่าเทอร์มินัล
ทำโปรไฟล์ของคุณซ้ำบนแท็บการตั้งค่าด้วยไอคอนรูปเฟือง สิ่งนี้จะเปลี่ยนไฟล์การตั้งค่าเริ่มต้นของคุณดังนั้นเปลี่ยนค่าเริ่มต้นเก่าของคุณกลับไปเป็นแบบเดิมก่อนทำซ้ำ
ในการตั้งค่าแบบกำหนดเองใหม่ของคุณคลิกที่ประเภทของเชลล์ในคำสั่ง ssh ของคุณในส่วน Run Command at Startup
เปลี่ยนชื่อการตั้งค่าใหม่จากกำหนดเองเป็นสิ่งที่คุณต้องการ
ตอนนี้คุณสามารถเริ่มเซสชันจากรายการเมนูหน้าต่างใหม่หรือแท็บใหม่และแน่นอนว่าสามารถกำหนดแป้นพิมพ์ลัดใน Keyboard & Mouse ในการตั้งค่าระบบ
คุณสามารถสร้าง AppleScript ที่จะเรียกใช้คำสั่งสำหรับคุณ:
tell application "Terminal"
do script "ssh server.example.com"
end tell
หากต้องการเปิดการเชื่อมต่อ ssh อย่างรวดเร็วจากเกือบทุกที่บน Mac ของคุณให้ทำดังต่อไปนี้:
ssh://user@host.com
*.inetloc
ไฟล์~/connections
ที่เก็บ*.inetloc
ไฟล์ทั้งหมดของฉัน
คุณสามารถเปลี่ยนชื่อไฟล์นี้เป็นสิ่งที่คุณต้องการและแม้กระทั่งเปลี่ยนไอคอน*.inetloc
ไฟล์ไปที่ Dock แถบด้านข้างของ Finder's หรือแถบเครื่องมือหรือไปที่อื่น (สามารถเลือกได้ด้วย Spotlight)สำหรับผู้ที่ใช้ไพรเวตคีย์กับ ssh และต้องการใช้เมธอด ~ / .ssh / config คุณสามารถเพิ่มแอ็ตทริบิวต์ 'IdentityFile' ให้กับโฮสต์ของคุณแล้วตามด้วยพา ธ คีย์ เช่น:
Host SomeServer
User ubuntu
HostName someserver.com
IdentityFile ~/.ssh/private.key
ฉันจะเพิ่มบิตนี้เป็นข้อคิดเห็นในหนึ่งในคำตอบ แต่ชื่อเสียงของฉันยังอยู่ในระดับต่ำและฉันไม่ได้รับอนุญาตให้ทำเช่นนั้น
หากคุณต้องการไฟล์ที่คุณสามารถเปิดเพื่อเปิดเซสชันคุณสามารถสร้าง. inetloc ได้อย่างง่ายดาย ใน TextEdit ให้พิมพ์ SSH URL ไปยังโฮสต์ของคุณเช่น:
ssh://username@hostname/path
TextEdit จะรับรู้ว่าเป็น URL ลาก URL ไปยังเดสก์ท็อปของคุณและมันจะสร้าง. inetloc ดังนี้:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>URL</key>
<string>ssh://username@hostname/path</string>
</dict>
</plist>
จากนั้นคุณสามารถวางไฟล์นั้นได้ทุกที่เช่น Dock ของคุณหรือเปิดด้วยตัวเรียกใช้งานเช่น Quicksilver
ฉันอยากจะแนะนำปลั๊กอิน SSH สำหรับ Quicksilver แต่ล่าสุดฉันสามารถค้นหา v.84 ขัดข้อง QS ใหม่กว่าβ54 (3815)
hostname:1234
?
หากคุณใช้ Quicksilver จะมีโปรแกรมเสริมที่เรียกว่า RemoteHosts ซึ่งจะสแกนไฟล์ ~ / .hosts หรือแม้แต่ไฟล์ ~ / .ssh / known_hosts ของคุณโดยอัตโนมัติ
การเชื่อมต่อกับโฮสต์ใหม่นั้นรวดเร็วเหมือนการเปิด Quicksilver (CMD-Space) จากนั้นพิมพ์อักขระที่เพียงพอของโฮสต์ให้มีเอกลักษณ์และสุดท้ายก็กด Enter
หากส่วนที่ sucks สำหรับคุณพิมพ์ในคำสั่งยาวและซับซ้อน ssh แต่คุณไม่รังเกียจที่จะเปิด Terminal และด้วยเหตุผลบางอย่างที่คุณไม่ต้องการใช้วิธีการใด ๆ ของคำตอบก่อนหน้านี้คุณสามารถใช้ นามแฝงหรือฟังก์ชั่น เพิ่มสิ่งนี้เพื่อเปลือก dotfile (.profile หรือ. bash_profile หรือ. bashrc หรือ. csrc หรือ. zshrc หรืออะไรก็ตาม):
alias connect.dev='ssh -p 12345 yourusername@dev.somehost.net'
ข้อดีอย่างเดียวที่ฉันเห็นได้จากวิธีอื่นคือ (อย่างน้อย zsh และฉันคิดว่าทุบตี) คุณสามารถใช้ command command เพื่อดูเซิร์ฟเวอร์ทั้งหมดของคุณเพื่อเชื่อมต่อ ตัวอย่างเช่นสมมติว่าคุณมี 25 เซิร์ฟเวอร์ที่คุณเชื่อมต่อและคุณไม่ต้องการจดจำชื่อ / นามแฝงทั้งหมดที่คุณให้ไว้ในไฟล์. ssh / config หากนามแฝงทั้งหมดเริ่มต้นด้วยสิ่งเดียวกันเช่น 'เชื่อมต่อ' คุณเพียงพิมพ์การเชื่อมต่อ [TAB] ที่พร้อมท์คำสั่งและคุณจะเห็นความสำเร็จที่เป็นไปได้ทั้งหมด (ข้อจำกัดความรับผิดชอบ: คุณอาจต้องทำการปรับแต่งเชลล์เพื่อให้ทำงานได้ แต่ฉันเชื่อว่ามันจะทำงานตามค่าเริ่มต้นใน zsh และอาจจะเป็น bash เช่นกัน)
หากส่วนที่ sucks สำหรับคุณกำลังเปิด Terminal คุณสามารถลองใช้บางอย่างเช่นDuckBillแม้ว่าเหตุผลเดียวที่ฉันคิดว่าจะเรียกใช้ ssh OUTSIDE ของ Terminal อาจเป็นไปได้สำหรับการเรียกใช้โปรแกรมเซิร์ฟเวอร์ X Windows หรืออุโมงค์ ssh
คุณสามารถสร้างไฟล์ในไดเรกทอรีถังขยะในพื้นที่ของคุณ
/usr/local/bin/dev
ด้วยเนื้อหาดังต่อไปนี้:
#!/bin/bash
ssh -p 12345 username@www.mydomain.com
ทำให้ปฏิบัติการได้
chmod a+x /usr/local/bin/dev
ซึ่งคุณสามารถโทรจากเทอร์มินัลโดยใช้
dev
จากนั้นคุณสร้างงานอัตโนมัติเพื่อเปิด
tell application "Finder" to set theSel to selection
tell application "Terminal"
set theFol to POSIX path of ((item 1 of theSel) as text)
if (count of windows) is not 0 then
do script "/usr/local/bin/dev2" in window 1
else
do script "/usr/local/bin/dev2"
end if
activate
end tell
คุณยังสามารถสร้างทางลัดจากตัวเรียกใช้งานหรือปุ่มลัดบนคีย์บอร์ดของคุณ
ตัวเรียกใช้: ไอคอนลากจากบันทึกอัตโนมัติลงใน dockbar
แป้นพิมพ์ลัด:
create as service in automator
open system services -> keyboard -> shortcuts -> app shortcuts -> enter title of automator and key shortcut