Saya mencoba agar perintah berikut dijalankan secara otomatis ketika saya masuk ke server saya melalui ssh:
ssh-agent /bin/bash
ssh-add ~/.ssh/id_rsa
Kunci ssh saya memiliki kata sandi dan saya baik-baik saja dengan memasukkannya sekali per login.
Saya mencoba meletakkan ini di file .bashrc saya, namun saya percaya bahwa ssh-agent memulai sesi bash baru. Ketika saya mencoba masuk setelah memiliki ini di .bashrc saya, macet, dan saya harus mengetikkan 'keluar' untuk kemudian melihat prompt 'masukkan passphrace untuk membuka kunci'
Ada saran lain?
Server menjalankan Ubuntu LTS
git pull
dan itu pada server jauhJawaban:
Anda dapat mencoba menambahkan ini:
Dengan cara
ssh-agent
ini tidak memulai shell baru, itu hanya meluncurkan dirinya di latar belakang dan mengeluarkan perintah shell untuk mengatur variabel lingkungan yang sesuai.Seperti yang dikatakan dalam komentar, mungkin Anda tidak ingin menjalankan agen sama sekali pada host jarak jauh, melainkan pada kotak tempat Anda bekerja, dan menggunakan
untuk meneruskan layanan agen ssh lokal Anda ke host jarak jauh.
Untuk alasan keamanan, Anda hanya boleh menggunakan penerusan agen dengan host yang dijalankan oleh orang-orang yang dapat dipercaya, tetapi itu lebih baik daripada menjalankan agen lengkap dari jarak jauh kapan saja.
sumber
ssh-agent /bin/bash
denganssh-agent -s
, dan kemudian saya coba lakukangit pull
, saya masih meminta kata sandi kunci pribadi untuk membukanya. Bukan itu yang saya inginkan, saya hanya perlu memasukkan kata sandi untuk melakukan ssh-add, dan tidak harus mengulanginya setiap kali saya menjalankan perintah git. Ada ide?Salah satu alternatif adalah menggunakan Keychain Funtoo . Kemudian Anda bisa menempelkan satu liner ini di bash shell Anda:
Itu melakukan hal yang sama (meluncurkan ssh agent, dll.), Sementara juga tidak menjalankan proses ssh-agent untuk setiap subkulit. Alih-alih mencari contoh "sudah berjalan" yang Anda miliki dan menempelkan Anda padanya.
sumber