Cara SSH pada port selain 22

Saya memiliki dua komputer di belakang router yang sama. Sebut saja mereka A dan B.

A dapat SSH ke B dengan cara berikut: ssh usr@<internal ip of computer>

B dapat SSH ke A dengan melakukan hal yang sama, tetapi IP eksternal harus digunakan. Saya telah meneruskan port 22 router saya ke IP komputer A, sehingga semuanya masuk akal bagi saya.

Namun, saya juga ingin meneruskan port 26 ke komputer B, dan SSH dari luar jaringan dengan menggunakan IP eksternal untuk keduanya, tetapi menentukan port 22 atau 26, untuk secara efektif memilih komputer mana yang akan digunakan.

Saya telah mencoba mengizinkan port 26 melalui OUTPUT dari iptables pada A dan INPUT B, tetapi itu tampaknya tidak berhasil. Saya juga meneruskan port 26 ke IP internal B (melalui router), seperti yang saya lakukan dengan 22 untuk A.

Inilah yang saya dapatkan ketika saya mencoba SSH dari A ke B menggunakan IP eksternal dan port 26:

ssh: connect to host xx.xx.xxx.xx port 26: Connection refused.

Versi:

  • A = OpenSSH_5. 9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Maret 2012
  • B = OpenSSH_6. 0p1 Debian-4, OpenSSL 1.0.1 c 10 Mei 2012

A memiliki 12.04 Ubuntu, B adalah Raspberry Pi dengan Raspbian.

EDIT: sesuatu yang saya lupa masukkan: Saya mencoba mengganti file konfigurasi SSH (saya menemukannya /etc/ssh/ssh_config) Saya tidak berkomentar (menghapus #) garis dengan Port dan berubah 22 untuk 26. Ini memberi saya koneksi menolak pesan masih. (Saya reboot tidak berhasil.)

Jika Anda menggunakan sistem Linux dan Anda ingin terhubung ke server SSH pada port 26 anda dapat menggunakan perintah berikut.

ssh user@192.168.1.1 -p 26

Catatan:

  1. Ganti ip server dengan alamat IP atau nama DNS server Anda.
  2. Ubah nomor port Anda seperti yang telah Anda tetapkan.
  3. jika Anda menggunakan port kustom SSH maka port yang sama paling diizinkan untuk keluar, koneksi masuk pada firewall jika tidak koneksi tidak akan terbentuk

Sepertinya Anda tidak menjalankan SSH pada port 26 pada mesin kedua. Anda dapat mengubah nomor port pada mesin itu menjadi 26.

Entah mengedit /etc/ssh/sshd_config & amp; jangan lupa untuk me-restart SSH (service sshd restart) atau biarkan pada 22, Tetapi teruskan port 26 pada router ke port 22 pada mesin kedua. Juga, jangan lupa untuk mengubah pengaturan firewall pada mesin kedua untuk memungkinkan koneksi melalui.

Saya menggunakan port 22 hanya untuk akses ssh intranet.

Untuk akses melalui internet saya menggunakan port khusus (tidak biasa).Ini memiliki manfaat saya mengurangi beban yang dihasilkan yang dihasilkan oleh script kids yang memindai port 22 untuk"nama pengguna terkenal".

The eksternal proses sshd dikendalikan oleh xinetd dan berjalan secara paralel dengan internal sshd process.In contoh berikut saya menggunakan port 12345:

Anda bebas untuk mengubah ini ke nomor port gratis yang tersedia di sistem Anda.Mungkin nilai yang lebih tinggi akan membuatnya juga sedikit lebih tidak mungkin bahwa port ini dipindai oleh "quick port scan".

The xinetd konfigurasi adalah:

service ssh-external{    socket_type = stream    wait = no    protocol = tcp    type = UNLISTED    user = root    server = /usr/sbin/sshd    server_args = -i -f  /etc/ssh/external-sshd.config    port = 12345    log_on_failure += USERID}

Berkas /etc/ssh/external-ssdh.config bisa menjadi salinan biasa Anda sshd konfigurasi.Pastikan bahwa pernyataan berikut dikonfigurasi:

Port 12345AddressFamily inet

Saya juga menyarankan untuk menegakkan otentikasi kunci publik dan menonaktifkan otentikasi kata sandi untuk akses internet:

PasswordAuthentication noPermitEmptyPasswords noChallengeResponseAuthentication no

Dengarkan port juga dapat sulit dihubungkan ke alamat IP

/etc/ssh / sshd_config:

ListenAddress 10.10.10.10:22ListenAddress 20.20.20.20:4444

Seperti yang telah saya jelaskan dalam sebuah jawaban terkait, klien ssh memungkinkan menentukan format URI sebagai ssh://user@host:1234. Misalnya:

ssh  ssh://myuser@mydomain.com:2222

di mana 2222 adalah nomor port. Ganti Nomor port yang ingin Anda gunakan. Tentu saja, ingat bahwa untuk terhubung ke port ssh server yang ditentukan (pada host yang Anda mencoba untuk menghubungkan) harus mendengarkan pada port tertentu di tempat pertama

Bukan ide yang baik untuk menjalankan ssh pada port default (TCP/22), tidak meneruskan dari WAN IP 22 ke port apa pun yang menggunakan ssh-server pada IP LAN.

Untuk membuat ssh-server mendengarkan pada port tertentu Anda harus

  1. Edit pada /etc/ssh/sshd_config (perhatikan d) dari #Port 22 untuk Port 26. Yaitu, Tanda Komentar dan mengubah port. Lebih baik dari 26 akan menjadi sesuatu secara acak di atas (di bawah 65535), seperti 42895.
    Juga pertimbangkan untuk mengubah ke PermitRootLogin no.

  2. Uji konfigurasi Anda dengan ssh test mode

    sudo sshd -t
  3. Mulai ulang layanan ssh-server

     sudo systemctl restart sshd.service

Kemudian dari ssh-client Anda akan dapat terhubung

ssh user@serverNameOrIP -p 42895

Bonus: mosh

Jika paket mosh diinstal pada server Anda kemudian menggunakan

mosh --ssh="ssh -p 42895" serverNameOrIP

Perhatikan bahwa _ /etc/ssh / ssh_config_ adalah konfigurasi klien ssh. Dimana _ / etc/ssh / sshd_config_ adalah konfigurasi daemon ssh.

Apakah yuu ohave SSH berjalan pada port 22 atau 26 pada mesin kedua?