GNU/Linux >> Belajar Linux >  >> Linux

Server relai SSH dengan OpenSSH

Solusi 1:

Tentu; cukup gunakan port forwarding/tunneling SSH. Mulai koneksi ssh ke mesin "proxy" menggunakan perintah berikut:

ssh -L$LOCALPORT:$REMOTEHOST:$SSHPORT $PROXYHOST
  • $PROXYHOST :mesin tempat Anda memiliki akses SSH
  • $REMOTEHOST :mesin yang dapat disambungkan oleh $PROXYHOST, tetapi Anda tidak bisa. Gunakan hostname atau IP yang $PROXYHOST dapat digunakan untuk merujuk ke mesin
  • $SSHPORT :port yang sedang didengarkan sshd di remotehost; kemungkinan besar 22
  • $LOCALPORT :port keluar lokal SSH terbuka di mesin lokal Anda yang diteruskan ke port 22 pada $REMOTEHOST

Biarkan koneksi itu tetap aktif agar terowongan tetap berfungsi. Anda mungkin juga ingin menambahkan -N ke perintah agar koneksi ini tidak memunculkan shell jarak jauh dan Anda tidak akan menutupnya secara tidak sengaja nanti.

Setelah terowongan dibuat, lakukan hal berikut:

ssh -p $LOCALPORT localhost

Ini mencoba koneksi SSH ke mesin lokal Anda di port yang diteruskan ke $REMOTEHOST port SSH.

Solusi 2:

Jika Anda ingin memperbarui konfigurasi pada klien Anda, Anda dapat mengatur klien Anda untuk menggunakan kotak gateway Anda sebagai proxy. Kotak relai Anda perlu memasang netcat, dan untuk hasil terbaik, Anda perlu menyiapkan autentikasi berbasis kunci.

Inilah yang saya gunakan di .ssh/config saya untuk terhubung melalui host lain.

Host internal-ssh-host-proxy
    ProxyCommand /usr/bin/ssh [email protected] "/bin/netcat -w 1 internal-ssh-host 22"

Dengan hal di atas Anda cukup menjalankan perintah ssh internal-ssh-host-proxy dari mesin klien Anda.

Jika host proxy SSH memiliki klien OpenSSH 5.4 atau lebih tinggi, Anda tidak memerlukan netcat, dan sebagai gantinya Anda dapat menggunakan mode netcat bawaan.

Host internal-ssh-host-proxy
    ProxyCommand /usr/bin/ssh [email protected] -W internal-ssh-host:22

Solusi 3:

Dari jawaban yang disajikan, Zordache's adalah solusi terbaik secara keseluruhan. Namun untuk anak cucu, jika Anda hanya ingin menghubungkan ad-hoc tanpa mengedit konfigurasi Anda, gunakan -t flag untuk mengalokasikan terminal semu bersama dengan mengeksekusi ssh secara langsung pada relai.

ssh -t relay.example.com ssh internal.example.com

Solusi 4:

Anda dapat meneruskan koneksi secara otomatis menggunakan OpenSSH. Di ~/.ssh/authorized_keys Anda file, Anda dapat menentukan perintah untuk dieksekusi, yang bisa berupa SSH ke mesin kedua.

[ssh client] ----> [ssh relay server] ----> [ssh target server]
    you          modified authorized_keys      target machine

Apa yang akhirnya Anda lihat adalah dua petunjuk untuk Password: :satu untuk server relai dan satu untuk server target. Anda selalu dapat menghapus perilaku ini dengan menggunakan sertifikat.


Linux
  1. Praktik Terbaik Keamanan OpenSSH

  2. Cara Install SSH Server di Ubuntu / Debian dengan OpenSSH

  3. Memecahkan masalah SSH

  1. Cara Mengamankan Layanan SSH dengan Port Knocking

  2. SSH dengan authorized_keys ke sistem Ubuntu dengan homedir terenkripsi?

  3. Nama pengguna dan kata sandi di baris perintah dengan sshfs

  1. Cara membuat server file pribadi dengan SSH di Linux

  2. 19 Perintah SSH Umum di Linux Dengan Contoh

  3. Perintah SSH