Saya terhubung melalui SSH dari mesin tempat kunci saya disimpan, meneruskan ke mesin kedua, dan kemudian mencoba menggunakan kunci dari dalam tmux. Saya tampaknya "kehilangan" penerusan ketika memasuki tmux. Bagaimana "meneruskan lagi" sehingga saya dapat menggunakan kunci saya dari dalam tmux?
$ ssh [server] -o ForwardAgent=yes
$ git pull # Succeeds.
$ /bin/bash
$ git pull # Still succeeds, despite new shell.
$ exit
$ tmux attach
$ git pull # Permission denied (publickey)
Jawaban:
Jika Anda melampirkan sesi tmux yang sudah ada, shell tidak mewarisi variabel lingkungan dari shell login Anda. Terutama, itu tidak akan mewarisi variabel lingkungan ssh agent.
Coba perbaikan ini :
Buat skrip ini dan masukkan $ HOME / .ssh / saveagent
Tambahkan ke skrip startup shell Anda. Misalnya jika Anda menggunakan bash:
Setelah memasang tmux, jalankan
. $HOME/.ssh/latestagent
Lihat juga Bagaimana saya bisa menjalankan skrip segera setelah terhubung melalui SSH? dan Lampirkan ke sesi tmux dan jalankan perintah
sumber
saveagent
skrip harus:echo "export $var=\"$(eval echo '$'$var)\""
. b -latestagent
skrip harus dipanggil dengansource
alih - alihsh
, jadi pengaturan variabel akan memengaruhi shell panggilan. c - memanggillatestagent
skrip secara otomatis setelah melampirkan tmux dapat dilakukan melalui metode yang dijelaskan di sini: unix.stackexchange.com/questions/86925/…Kecuali jika Anda ingin sumber skrip yang berisi semua variabel yang Anda butuhkan di setiap shell Anda lebih lanjut menelurkan di setiap shell baru yang dihasilkan oleh
tmux
sesi server yang sama , Anda mungkin ingin memberitahutmux
untuk memasukkan variabel ke dalam sesi atau lingkungan global denganset-environment
perintah. Misalnya seperti ini (untuk pesta):ingatlah untuk menambahkan
-g
bendera jika Anda menginginkannya di sesi lain juga dan menggunakannya-t <session>
jika Anda menjalankannya dari luartmux
.sumber
Setelah membaca jawaban lain di sini, saya memutuskan untuk menyalin keypair publik / pribadi saya ke server jauh, sehingga saya tidak perlu khawatir tentang penerusan agen lagi.
sumber