Bagaimana saya bisa memulai kembali terowongan SSH -D saat masuk untuk proxy SOCKS?

9

Saya tahu bahwa jika saya ingin memulai terowongan SSH

ssh -d 9000 user@userserver

Ini adalah salah satu solusi untuk terowongan dinamis yang akan dibuka pada port 9000 untuk pengguna yang bernama "pengguna" pada host "userserver"

Namun, bagaimana saya bisa mengotomatiskan proses ini di Ubuntu sehingga saya tidak perlu membuka terminal setiap kali saya masuk dan memulai terowongan? Saya ingin menjadi SSH saat saya masuk.

Saya tahu saya bisa membuat file bash tetapi tidakkah saya harus menyimpan kata sandi pengguna server saya dalam plaintext karena saya akan diminta untuk melakukannya setelah perintah awal?

dalanmiller
sumber
3
Anda dapat mengatur kunci ssh alih-alih menggunakan kata sandi (lihat pkeck.myweb.uga.edu/ssh ), tetapi tidak masalah bagaimana pengaturan Anda, Anda akan membahayakan keamanan jika Anda mengotomatiskan login ...
LassePoulsen
Tidak persis tentang pertanyaan Anda, tetapi saya sarankan Anda mencoba menggunakan sshuttleuntuk merute internet Anda melalui SSH. Itu tidak menyelesaikan masalah login tanpa password.
Oxwivi
Jika Anda mengatur SSH tanpa kata sandi seperti yang saya jawab, sshuttlejuga dapat di-autostart (catatan, sshuttlememerlukan hak admin untuk dijalankan).
Oxwivi

Jawaban:

9
  1. Siapkan login SSH-less-password berdasarkan jawaban ini :

    • ssh-keygen (Anda akan dimintai kata sandi, biarkan kosong)

    • ssh-copy-id user@userserver (masukkan kata sandi masuk SSH Anda untuk yang terakhir kalinya)

  2. Tambahkan entri startup untuk SSH:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Oxwivi
sumber
@Stefano, terima kasih! Setengah kredit jatuh ke tangan Rinzwind dan Marco yang memberi tahu saya tentang SSH tanpa kata sandi!
Oxwivi
1

Bagaimana dengan menggunakan pengaturan ssh-key, seperti yang disarankan Source Lab, tetapi mengatur kunci Anda dengan frase sandi dan pastikan ssh-agent berjalan di mesin Anda sehingga hanya perlu dimasukkan satu kali per sesi login.

Ada beberapa keuntungan melakukannya seperti itu: - Anda bisa mendapatkan login tanpa password otomatis (terlepas dari boot / login pertama kali) setiap kali Anda mengeluarkan perintah ssh - Kunci Anda memiliki frasa sandi sehingga lebih aman - Menggunakan kunci pub / pribadi sangat standar dan akan didukung oleh sebagian besar instalasi SSH Server

Untuk mengatur otentikasi kunci SSH:

Untuk menggunakan ssh-agent / gantungan kunci (untuk menyimpan frasa sandi selama sesi login):

Sejauh mengotomatisasi pembuatan terowongan saat startup, satu ide mungkin untuk membuat skrip shell cepat yang memulai terowongan:

~$ sudo cat <<EOF >> /usr/local/bin/start_tunnel.sh
ssh-add # ensure key is added to agent
ssh -D 9000 user@userserver # substitute real server in here (of course)
EOF
~$ chmod +x /usr/local/bin/start_tunnel.sh

Kemudian tambahkan itu sebagai program startup (Sistem -> Preferensi -> Aplikasi Startup), tetap bekerja, pokoknya!

kwiksand
sumber
Apakah ada cara untuk melakukan ini melalui bagian proxy jaringan dari pengaturan di Ubuntu? Ada opsi untuk verifikasi pengguna dan Anda dapat memasukkan dahulu nama pengguna dan kata sandi Anda? Kalau-kalau pengaturan saya pernah berubah saya tidak ingin harus masuk dan mengulang file.
dalanmiller
Saya khawatir itu tidak berhasil, bahkan dengan autossh.
skerit
-1
sudo ssh-keygen #type Enter everywhere
sudo cat /home/root/.ssh/ id_dsa.pub >> .ssh/authorized_keys

/etc/rc.local tambahkan string:

echo "ssh socks 192.168.0.1:8000" ; sudo ssh -fND 192.168.0.1:8000 localhost
pengguna189643
sumber
Harap diingat bahwa pengaturan kunci ssh didedikasikan. Secara buta menerima semua petunjuk tanpa membaca apa yang sedang dilakukan dapat membahayakan layanan / sistem Anda.
Braiam