Apa tugas masing-masing ssh dan sshd?

0

Saya tahu bahwa sshd adalah daemon SSH dan juga bertindak sebagai server SSH. Saya lebih tertarik pada detailnya. Dari halaman manual ssh,

https://linux.die.net/man/1/ssh

Ada beberapa penjelasan tingkat tinggi, seperti itu adalah program untuk masuk pada mesin jarak jauh dan menjalankan perintah dan sebagainya, tetapi tidak ada banyak detail tentang apa yang menjadi pekerjaan sshd dan apa yang sedang dilakukan oleh ssh.

Ada ide?

BR Patrik

EDIT

Saya sadar bahwa ada halaman manual untuk sshd juga,

https://linux.die.net/man/8/sshd

Namun, ini tidak memberikan banyak jawaban untuk pertanyaan saya. Ada hal-hal yang sedikit lebih tidak jelas bekerja di sini dan yang akan menyenangkan untuk diketahui.

  • Misalnya. apakah koneksi TCP diatur dalam sshd dan dalam kasus itu, bagaimana ssh dapat mengaksesnya?
  • Apakah sesi diatur dalam sshd baik untuk koneksi keluar dan masuk atau apakah program ssh menangani ini untuk koneksi keluar?
  • Apakah sshd selalu menangani koneksi atau mendelegasikannya ke ssh? Kalau begitu bagaimana?
patrik
sumber
@KamilMaciorowski Yup, jelas :). Pokoknya itu tidak benar-benar memberi saya informasi yang dibutuhkan. Salah satu hal yang membingungkan saya adalah bahwa koneksi TCP terasa seolah-olah harus diatur dalam sshd, jadi bagaimana program ssh mengaksesnya?
patrik

Jawaban:

2

Pertanyaan Anda tidak jelas.

SSHD adalah server (analog dengan server web yang melayani https) SSH adalah klien (analog dengan browser).

Agar berfungsi, seperangkat protokol dan mekanisme otentikasi yang kompatibel perlu dinegosiasikan. Umumnya server menentukan apa yang akan diterimanya, dan klien menegosiasikan protokol umum terbaik.

Protokol SSH itu sendiri sedikit. Selain itu, tcp stream yang dipikirkan dengan baik, dienkripsi, dan diautentikasi yang biasanya memungkinkan tunneling stream lain meskipun itu. Biasa digunakan untuk menjalankan sesi interaktif seperti telnet, tetapi dapat juga digunakan untuk tunnrl / protokol lain, atau diperluas untuk memungkinkan transfer file scp. Umumnya klien SSH akan menentukan sintaks, sementara kedua server snd klien harus bekerja sama untuk mengaktifkan fungsionalitas.

Biasanya klien (pengguna) akan mengotentikasi dirinya ke server menggunakan kredensial pengguna. Server biasanya tidak mengotentikasi ke klien, tetapi akan memberikan kunci publik (server) sendiri yang dapat sidik jari, diperiksa dan diingat untuk membuat frustrasi serangan MITM.

davidgo
sumber
Ok jadi biar kutebak sedikit di sini. Jadi yang Anda maksud adalah bahwa untuk sesi SSH keluar, program ssh bergabung dengan server pada mesin lokal, yang kemudian meneruskan informasi ke server jauh? Apakah ini juga berarti bahwa klien SSH tidak memegang koneksi TCP-nya sendiri, tetapi mengirimkan permintaan ke sshd dan meninggalkan sshd untuk melakukan semua komunikasi jaringan?
patrik
1
Klien SSH tidak perlu berbicara melalui server. Sangat praktis untuk menjalankan klien SSH hanya pada 1 pc dan hanya server pada yang lain. (Dan to-putty yang umum adalah klien ssh tanpa server yang sesuai). Klien ssh membuat koneksi tcp langsung ke server jarak jauh.
davidgo
1
Ini, dalam beberapa kasus, mungkin untuk menjalankan ssh client selain mendengarkan pada port untuk mengenkripsi koneksi fird snd dibuat untuk itu yang awalnya tidak dienkripsi.
davidgo
Begitu, jadi sebenarnya tidak ada hubungan antara sshd dan ssh?
patrik
2
Kecuali untuk menjalankan protokol yang disepakati, tidak. Ini juga umum untuk server ssh untuk dibundel dengan klien, tetapi mereka dapat dipisahkan.
davidgo