เป็นไปได้ที่จะวางไข่ ssh-agent สำหรับเซสชัน tmux ใหม่หรือไม่?


4

ฉันได้เห็นแฮ็กจำนวนมากสำหรับการติดต่อใหม่กับตัวแทน SSH ของเซสชัน GUI จากภายในเซสชัน tmux (และหน้าจอ) ฉันสงสัยว่ามันเป็นไปได้ที่จะยกเลิกคู่จาก GUI และวางไข่ตัวแทน SSH อย่างหมดจดเพื่อใช้ภายในเซสชั่น tmux ที่กำหนด? ตัวแทนจะต้อง "ใช้งาน" หนึ่งในหน้าต่าง tmux เพื่อหลีกเลี่ยงการถูกฆ่าหรือเป็นไปได้ที่จะวางไข่หนึ่งในพื้นหลังที่ยังคงอยู่ตราบใดที่เซสชันยังมีชีวิตอยู่?


ทำซ้ำกับsuperuser.com/q/237822/46794หรือไม่
Blaisorblade

คำตอบ:


3

ตกลงฉันขุดอีกรอบแล้วและฉันควรจะขออะไรก็ได้ที่ SSH_AGENT อยู่รอบ ๆ เมื่อติดตั้งเครื่อง tmux จัดเตรียมการกำหนดค่าคีย์ "update-environment" ไว้แล้วอย่างไรก็ตามชิ้นส่วนที่ขาดหายไปคือเชลล์ที่มีอยู่จะไม่ถูกอัพเดตอย่างน่าอัศจรรย์ อย่างไรก็ตาม tmux ทำการติดตามตัวแปรสภาวะแวดล้อมที่อัพเดตดังนั้นสคริปต์การอัพเดตจะแฮ็กน้อยกว่าหน้าจอ:


# Sync the environment of an existing shell
#
#  tmux already updates the environment according to
#  the update-environment settings in the config. However
#  for existing shells you need to sync from from tmux's view
#  of the world.
function tmux_sync_env
{
    external_env=`tmux showenv | grep -v "^-"`
    export ${external_env}
}

จากความมุ่งมั่นนี้


@Thor: ผมสงสัยว่าสิ่งที่เกิดขึ้นผมคิดว่าการแก้ไขที่ถูกแทรกพื้นที่เพราะการเชื่อมโยงก็ยาว ...
stsquad

2

ผมต้องปรับเปลี่ยน @ stsquad ของคำตอบ มันล้มเหลวสำหรับฉันเพราะexportคำสั่งไม่สามารถตั้งค่าSSH_CONNECTIONตัวแปร

ฉันต้องห่อค่าของSSH_CONNECTIONคำพูด

function tmux_sync_env
{
    ssh_auth_sock=`tmux showenv | grep "^SSH_AUTH_SOCK"`
    ssh_connection=`tmux showenv | grep "^SSH_CONNECTION"`
    export ${ssh_auth_sock}
    export "${ssh_connection}"
}

0

อีกตัวเลือกหนึ่งที่ฉันพบเมื่อเร็ว ๆ นี้คือยูทิลิตี้พวงกุญแจของ Daniel Robbins ซึ่งมีวิธีการเชื่อมต่อที่เรียบร้อยและมีตัวแทนผู้ใช้ / โฮสต์ไวด์แทนที่จะเป็นเซสชั่นไวด์หนึ่ง

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