Diperlukan konfigurasi tambahan untuk penerusan ssh-agent?

21

Panduan ini sangat membantu menjelaskan cara kerja ssh-agent di berbagai sistem. Saya ingin meneruskan pengaturan seperti pada set diagram terakhir, tapi saya mengalami kesulitan melacak langkah-langkah yang diperlukan untuk melakukannya.

Untuk beberapa mesin di jaringan saya, saya dapat ssh dari A ke B, lalu B ke C, tanpa pernah memasukkan kata sandi sertifikat. Mesin lain, bagaimanapun, memberikan "Tidak dapat membuka koneksi ke agen otentikasi Anda" (kadang-kadang!), Maka tidak akan meneruskan informasi otentikasi saya. SSHing dari salah satu mesin ini ke kotak lain di jaringan meminta kata sandi kunci pribadi saya lagi.

Saya tidak membangun mesin ini, tetapi saya bisa mengelola beberapa dari mereka. Saya tidak tahu pasti apa perbedaan antara boxen yang berfungsi dan yang tidak - bisa menjadi masalah firewall, konfigurasi ssh / ssh-agent / sshd, apa pun, dan saya tidak melihat langkah- panduan langkah demi langkah khusus untuk penerusan yang melayang di sekitar 'jaring. Saya hanya perlu tahu di mana harus mulai mengejar masalah ini.

Pembuat kode
sumber

Jawaban:

23

Penerusan agen ssh harus diizinkan pada klien ( ForwardAgentopsi masuk ~/.ssh/config) dan pada server ( AllowAgentForwardingopsi masuk sshd_config). Kemungkinannya adalah bahwa mesin Anda memiliki pengaturan default yang berbeda untuk satu atau kedua opsi ini.

Jika Anda akan A-> B-> C, penerusan tidak diperlukan pada langkah B-> C (kecuali Anda kemudian akan pergi C-> D tentu saja).

Ketika Anda masuk ke B, periksa apakah variabel lingkungan SSH_AUTH_SOCKsudah ditentukan. Nilainya adalah bagaimana sshcara menghubungi agen.

Tidak ada alasan yang baik untuk melarang penerusan agen di server, mengingat bahwa penerusan agen membuat klien rentan terhadap server dan bukan sebaliknya, dan bahwa pada prinsipnya Anda dapat mengatur penerusan agen secara manual (meskipun tidak akan ada banyak gunanya sejak kesulitan pengaturannya akan mengalahkan titik kenyamanan agen forwarding).

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Berita baiknya: terima kasih telah mengarahkan saya ke kunci yang tepat untuk dicari! Berita buruknya: Rupanya ini adalah bug yang dikenal di openssh-server. Tampaknya telah diperbaiki, di beberapa titik, tapi saya tidak berpikir saya menjalankan versi yang cukup saat ini - saya mendapatkan "Opsi konfigurasi yang buruk: AllowAgentForwarding" ketika saya mencoba untuk mengaktifkannya. Sepertinya tidak aktif untuk memperbarui pemuatan perangkat lunak saya (lagi ...)
Coderer
1
@Coderer: Sejak agen meneruskan default pada, itu harus cukup untuk menghapus AllowAgentForwardingbaris apa pun dari sshd_config.
Gilles 'SO- stop being evil'
@Gilles Jika seseorang memang ingin mengatur penerusan agen secara manual untuk sesi yang ada, bagaimana mereka akan melakukannya? Ini adalah kebutuhan nyata dengan skrip penyediaan yang digunakan dengan mesin sesaat seperti AMI yang datang dengan AllowAgentForwardingcacat.
Andrew De Andrade
@AndrewDeAndrade Untuk sesi yang ada, Anda harus menghentikan pekerjaan Anda. Jika Anda bermaksud mengatur penerusan agen meskipun dinonaktifkan di server, Anda perlu meneruskan soket unix melalui TCP; ini harus dilakukan dengan netcat atau socat di kedua sisi.
Gilles 'SO- berhenti bersikap jahat'
@Gilles Itulah kesimpulan saya juga datang. Saya menemukan Anda juga dapat menggunakan spiped, yang lebih aman tetapi membutuhkan pertukaran kunci simetris, tetapi lebih sederhana setelah itu.
Andrew De Andrade
14

Walaupun Anda sudah memiliki jawaban yang tepat oleh @Gilles di atas, saya ingin menunjukkan bahwa AllowAgentForwardinghanya didukung di OpenSSH 5.1 dan seterusnya.

Server OpenSSH sebelum 5.1, dari apa yang saya lihat di kotak RHEL 4u5 saya, memungkinkan penerusan agen secara default. Jadi, jika server Anda lebih tua dari 5.1 dan penerusan agen tidak berfungsi, masalahnya kemungkinan pada klien ssh. Karena penerusan tampaknya berfungsi untuk beberapa mesin untuk Anda, sepertinya itu /etc/ssh/ssh_configpengaturan yang baik. Periksa ~/.ssh/configuntuk melihat apakah ada pengecualian yang dibuat untuk menonaktifkan penerusan agen untuk kotak yang terpengaruh.

Ref: http://www.openssh.org/txt/release-5.1

Sandip Bhattacharya
sumber
hai Sandip, apakah kamu punya ide tentang ini? superuser.com/questions/958978/…
Niks