ฉันอยู่ในสถานการณ์ที่ผู้ใช้หลายคนกำลังแบ่งปันบัญชีผู้ใช้เดียวกันบนเครื่องระยะไกล ฉันมีไดเรกทอรี "ส่วนตัว" ที่ฉันเขียน.zshrcไฟล์ของตัวเองและฉันต้องการวิธี:
- เริ่มเซสชัน ssh ในเครื่องระยะไกลด้วยคำสั่งจากไฟล์ ssh config ของฉัน (เช่นControlMaster auto)
- เซสชั่นนี้รัน Z shell
- มันทำงาน.zshrcในไดเรกทอรี "ส่วนตัว" ของฉัน (ไม่ใช่ในไดเรกทอรีบ้านของผู้ใช้ที่ใช้ร่วมกัน)
มันคงจะดีถ้ามีนามแฝงหรือวิธีง่าย ๆ ในการเริ่มเซสชัน ssh (นั่นคือเหตุผลที่ฉันคิดเกี่ยวกับการใช้ไฟล์ config ของ OpenSSH) แต่ฉันเปิดรับแนวคิดอื่น ๆ !
กำลังใช้ไฟล์ปรับแต่งของ OpenSSH?
ฉันอ่านหน้า man 's ssh_config ของ OpenSSH ที่ฉันสามารถใช้ directive LocalCommandเพื่อระบุคำสั่งให้รันแบบโลคัลหลังจากเชื่อมต่อกับเซิร์ฟเวอร์สำเร็จ นี่ทำให้ฉันคิดว่าอาจมีวิธีบอกconfigไฟล์ว่าคำสั่งให้เรียกใช้จากระยะไกลหลังจากเชื่อมต่อกับเซิร์ฟเวอร์ แต่ดูเหมือนจะไม่มีอะไรเกิดขึ้น
.zshrcในไดเรกทอรีเฉพาะ (เช่นไดเรกทอรีบ้าน "ส่วนบุคคล") ฉันพยายามssh -t host_name 'zsh & source /path/to/my_zshrc'แต่มันไม่ทำงาน (ฉันได้รับFPATH variable not definedและฉันคิดว่ามันเป็นเพราะzshเสร็จสิ้นก่อนที่มันจะทำงานmy_zshrcให้คนเดียวสิ่งนี้ไม่ได้ให้เปลือกหอย Z)
                
ssh mycommandไม่ได้ และถ้าคุณต้องการเรียกใช้คำสั่งการตั้งค่าบางคำสั่งก่อนคำสั่ง ssh ทำไมไม่กำหนดค่าฝั่งเซิร์ฟเวอร์