Linux Ubuntu / Unix Komando: sshd

nami

sshd - OpenSSH SSH daemon

Synopsis

sshd [- deiqtD46] [- b bit] [- f config_file] [- g login_grace_time] [- h host_key_file] [- k key_gen_time] [- o pilihan] [- p port] [- u Ilen]

gambaran

sshd (SSH Daemon) nyaéta program daemon pikeun ssh (1). Duaan program ieu ngaganti rlogin sarta rsh, sarta nyadiakeun aman komunikasi énkripsi antara dua sarwa untrusted leuwih hiji jaringan aman. The program anu dimaksudkeun pikeun jadi jadi gampang pikeun masang sarta make-gancang.

sshd teh daemon yén listens pikeun sambungan tina klien. Hal ieu sacara normal dimimitian dina boot ti / jsb / RC eta forks a daemon anyar pikeun tiap sambungan asup. daemons The forked nanganan bursa konci, enkripsi, auténtikasi, palaksanaan paréntah, jeung bursa data. Palaksanaan ieu sshd ngarojong duanana protokol SSH versi 1 jeung 2 sakaligus.

SSH Protocol Vérsi 1

Unggal host ngabogaan konci persà host-spésifik (ilaharna 1024 bit) dipaké pikeun ngaidentipikasi host teh. Sajaba, nalika daemon dimimitian, éta dibangkitkeun hiji konci server persà (ilaharna 768 bit). konci ieu normalna dihasilkeun unggal jam lamun eta geus dipake, sarta geus pernah disimpen di piringan.

Iraha a klien nyambungkeun daemon nu responds kalawan kenop host sarta server publik na. klien nu compares tombol host persà ngalawan database sorangan pikeun pariksa yen eta teu robah. klien nu lajeng dibangkitkeun jumlah acak 256-bit. Ieu encrypts angka acak ieu ngagunakeun duanana tombol host sarta konci server na ngirimkeun nomer énkripsi mun server. Kadua sisi lajeng nganggo angka acak ieu salaku konci rintakan nu dipaké pikeun encrypt kabeh komunikasi salajengna dina rintakan. Sesa rintakan ieu énkripsi maké cipher konvensional, ayeuna Blowfish atanapi 3DES, kalawan 3DES dipake sacara standar. Klien nu milih algoritma enkripsi ngagunakeun ti maranéhanana ditawarkeun ku server.

Hareup, dina server na klien nu asupkeun hiji dialog auténtikasi. Klien nu nyoba ngabuktoskeun kaaslianana sorangan migunakeun .rhosts auténtikasi, .rhosts auténtikasi digabungkeun jeung auténtikasi persà host, auténtikasi challenge-response persÃ, atawa auténtikasi dumasar-sandi .

auténtikasi Rhosts biasana ditumpurkeun sabab geus fundamentally aman, tapi bisa diaktipkeun dina server file konfigurasi upami hoyong. Kaamanan sistem teu ningkat iwal rshd rlogind na rexecd nu ditumpurkeun (sahingga lengkep nganonaktipkeun rlogin na rsh kana mesin).

SSH Protocol Vérsi 2

Vérsi 2 jalan kitu: Unggal host ngabogaan konci host-spésifik (persà atanapi dsa) dipaké pikeun ngaidentipikasi host teh. Najan kitu, nalika daemon dimimitian, teu ngahasilkeun konci server. kaamanan maju geus disadiakeun ngaliwatan hiji perjangjian konci Diffie-Hellman. perjangjian konci ieu ngakibatkeun hiji konci sési dibagikeun.

Sesa rintakan ieu énkripsi maké cipher simetri, ayeuna 128 bit AES, Blowfish, 3DES, CAST128, Arcfour, 192 bit AES, atawa 256 bit AES. klien nu milih algoritma enkripsi ngagunakeun ti maranéhanana ditawarkeun ku server. Sajaba, integritas sési ieu disadiakeun ngaliwatan kode auténtikasi pesen cryptographic (hmac-sha1 atanapi hmac-md5).

Protocol versi 2 nyadiakeun dumasar pamaké konci publik (PubkeyAuthentication) atawa metoda auténtikasi klien host (HostbasedAuthentication), auténtikasi sandi konvensional, jeung challenge-response métode dumasar.

Paréntah palaksanaan na Data Neraskeun

Mun klien berhasil authenticates sorangan, hiji dialog pikeun Nyiapkeun rintakan geus diasupkeun. Ulubiung klien nu bisa menta hal kawas allocating a pseudo-TTY, diteruskeun sambungan X11, diteruskeun sambungan TCP / IP, atawa diteruskeun di sambungan agén auténtikasi leuwih saluran aman.

Tungtungna, klien boh requests cangkang atawa dijalankeunnana paréntah a. Sisi lajeng asupkeun mode rintakan. Dina modeu ieu, boh sisi bisa ngirim data iraha wae, jeung data sapertos anu diteruskeun kana / ti cangkang atawa paréntah dina samping server, sarta terminal pamaké dina samping klien.

Nalika program pamaké terminates tur sagala diteruskeun X11 jeung sambungan lianna geus ditutup, server ngirimkeun status paréntah kaluar ka klien na dua sisi kaluar.

sshd bisa ngonpigurasi ngagunakeun pilihan paréntah-garis atawa file konfigurasi. pilihan paréntah-garis override nilai dieusian dina file konfigurasi.

sshd rereads file konfigurasi na lamun narima sinyal hangup, SIGHUP ku executing sorangan kalawan nami eta ieu dimimitian salaku, nyaéta / usr / sbin / sshd

Pilihan nyaéta kieu:

bit -b

Hususna jumlah bit dina ephemeral konci server protokol versi 1 (standar 768).

-d

modeu debug. server ngirimkeun kaluaran debug verbose kana sistem log sarta henteu nyimpen sorangan di tukang. server ogé iyeu moal jalan mun na ngan bakal ngolah hiji sambungan. pilihan ieu ngan dimaksudkeun pikeun debugging keur server. Sababaraha pilihan -d ngaronjatkeun tingkat debugging. Maksimum nyaéta 3.

-e

Lamun opsi ieu dieusian, sshd bakal dikirim kaluaran kana kasalahan baku tinimbang sistem kumplit.

configuration_file -f

Hususna ngaran file konfigurasi. Standar kasebut / jsb / ssh / sshd_config sshd refuses ngamimitian lamun euweuh file konfigurasi.

-g login_grace_time

Méré waktu rahmat pikeun klien pikeun ngabuktoskeun kaaslianana diri (dituna 120 detik). Mun klien nu gagal keur ngabuktoskeun kaaslianana pamaké dina ieu loba detik, anu disconnects server, sarta kaluar. A nilai tina enol nunjukkeun euweuh wates.

host_key_file -h

Hususna file ti mana a konci host anu maca. Pilihan ieu kudu dibikeun lamun sshd henteu ngajalankeun sakumaha root (salaku host normal file konci téh ilaharna teu bisa dibaca ku saha tapi akar). standar kasebut / jsb / ssh / ssh_host_key pikeun protokol versi 1, sarta / jsb / ssh / ssh_host_rsa_key jeung / jsb / ssh / ssh_host_dsa_key pikeun protokol Vérsi 2. Ieu mungkin pikeun mibanda sababaraha file konci host keur versi protokol béda jeung konci host algoritma.

-abdi

Hususna nu sshd keur ngajalankeun ti inetd. sshd ieu normalna teu ngajalankeun ti inetd sabab perlu keur ngahasilkeun tombol server sateuacan eta bisa ngabales klien, sarta ieu butuh puluhan detik. Klién bakal kudu ngadagoan lila teuing lamun konci ieu dihasilkeun unggal waktu. Sanajan kitu, ku ukuran konci leutik (misalna 512) maké sshd ti inetd bisa jadi layak.

-k key_gen_time

Hususna sabaraha sering di ephemeral protokol versi 1 konci server anu dihasilkeun (standar 3600 detik, atawa hiji jam). Motivasi pikeun ngalahirkeun konci adil mindeng éta konci éta teu disimpen mana, sarta sanggeus ngeunaan sajam, janten teu mungkin cageur konci pikeun decrypting komunikasi disadap sanajan mesin retak kana atanapi fisik nyita. A nilai tina enol nunjukkeun yén konci bakal pernah jadi dihasilkeun.

pilihan -o

Bisa dipaké pikeun masihan pilihan dina format dipaké dina file konfigurasi. Ieu dipake keur pilihan pikeun nu aya bendera komando-garis misah nangtukeun.

port -p

Hususna dina port on nu server listens pikeun sambungan (standar 22). Sababaraha pilihan port anu diijinkeun. Palabuhan dieusian dina file konfigurasi nu dipaliré lamun port paréntah-garis anu dieusian.

-q

modeu sepi. Nanaon geus dikirim ka sistem kumplit. Biasana awal, auténtikasi, sarta terminasi unggal sambungan log asup.

-t

modeu uji. Ngan pariksa validitas sahiji file Konfigurasi sarta sanity sahiji kenop. Ieu dipake keur ngamutahirkeun sshd reliably salaku pilihan konfigurasi bisa ngarobah.

-u Ilen

Pilihan ieu dipaké pikeun nangtukeun ukuran lapangan dina struktur utmp nu nyepeng ngaran host jauh. Lamun ngaran host anu ngumbar téh leuwih panjang batan Ilen nilai decimal dotted bakal dipaké gantina. Hal ieu ngamungkinkeun sarwa kalawan ngaran host pisan lila nu mudal widang ieu masih dicirikeun jadi uniquely. Nangtukeun - u0 nunjukkeun yén alamat decimal ukur dotted kudu nempatkeun kana file utmp. - u0 ieu ogé dipaké pikeun nyegah sshd tina nyieun requests DNS iwal mékanisme auténtikasi atanapi konfigurasi merlukeun eta. Mékanisme auténtikasi nu bisa merlukeun DNS kaasup RhostsAuthentication RhostsRSAAuthentication HostbasedAuthentication sarta maké pilihan ti = pola-daftar dina file konci. Pilihan konfigurasi anu merlukeun DNS antarana maké pamaké @ pola HOST di AllowUsers atanapi DenyUsers

-D

Lamun opsi ieu dieusian sshd moal coplokkeun na teu jadi daemon a. Hal ieu ngamungkinkeun gampang ngawaskeun sshd

-4

Pasukan sshd ngagunakeun IPv4 alamat wungkul.

-6

Pasukan sshd ngagunakeun IPv6 alamat wungkul.

konfigurasi File

sshd berbunyi data konfigurasi tina / jsb / ssh / sshd_config (atawa file dieusian ku - f dina garis paréntah). The format file na konfigurasi pilihan anu dijelaskeun dina sshd_config5.

Prosés login

Lamun pamaké hasil log di, sshd teu di handap:

  1. Mun login is on TTY hiji, sarta henteu paréntah geus dieusian, prints waktos login panungtungan jeung / jsb / motd (iwal dicegah dina file konfigurasi atanapi ku $ HOME / .hushlogin ningali bagian Sx file).
  2. Mun login is on TTY a, rékaman login waktos.
  3. Cék / jsb / nologin lamun eta aya, eusi prints na quits (iwal root).
  4. Parobahan ngajalankeun kalawan statusna pamaké normal.
  5. Susunan up lingkungan dasar.
  6. Berbunyi $ HOME / .ssh / lingkunganana lamun eta aya na pamaké anu diwenangkeun ngarobah lingkunganana. Tempo pilihan PermitUserEnvironment di sshd_config5.
  7. Parobahan diréktori home pamaké urang.
  8. Mun $ HOME / .ssh / RC aya, ngalir dinya; sejenna lamun / jsb / ssh / sshrc aya, ngalir dinya; disebutkeun ngalir xauth. The `` RC '' file nu dibikeun protokol auténtikasi X11 jeung cookie dina input baku.
  9. Ngalir cangkang pamaké atawa paréntah.

File Format Authorized_Keys

$ HOME / .ssh / authorized_keys teh file standar nu mangrupa daptar kenop publik nu diijinkeun keur auténtikasi persà dina protokol versi 1 jeung auténtikasi konci publik (PubkeyAuthentication) dina protokol Vérsi 2. AuthorizedKeysFile bisa dipaké pikeun nangtukeun hiji file alternatif.

Unggal garis file ngandung hiji konci (garis kosong tur garis dimimitian ku `# 'téh dipaliré sakumaha komentar). Unggal persà publik konci ngawengku widang di handap, dipisahkeun ku spasi: pilihan, bit, exponent, modulus, comment. Unggal Vérsi protokol 2 konci umum ngawengku: pilihan, keytype, base64 disandikeun konci, comment. Pilihan widang nyaeta pilihan; Ayana na ditangtukeun ku naha garis dimimitian ku angka atanapi henteu (widang pilihan pernah dimimitian ku angka hiji). The bit, exponent, modulus na komentar widang masihan tombol persà pikeun protokol versi 1; widang komentar teu dipaké for teu nanaon (tapi bisa jadi merenah pikeun pamaké pikeun ngaidentipikasi konci). Pikeun protokol versi 2 keytype nyaeta `` ssh-dss '' atawa `` ssh-persà ''

Catet yén garis dina file ieu téh biasana sababaraha ratus bait lila (kusabab ukuran tina encoding konci publik). Anjeun teu hoyong ngetik aranjeunna di; gantina, nyalin id_dsa.pub identity.pub atawa file id_rsa.pub tur edit eta.

sshd enforces a persà ukuranana modulus konci minimum pikeun protokol 1 sarta protokol 2 kenop 768 bit.

Pilihan (lamun hadir) diwangun ku spésifikasi pilihan koma-dipisahkeun. Taya spasi nu diijinkeun, iwal dina tanda petik ganda. Spésifikasi pilihan di handap ieu anu didukung (dicatet yén konci pilihan téh bisi-merhatikeun):

ti = pola-daptar

Hususna anu salian auténtikasi konci publik, nami canonical tina host jauh kudu hadir dina daptar koma-dipisahkeun tina pola ( `* 'sarta`?' Ngawula salaku wildcards). daftar ogé bisa ngandung pola negated ku prefixing aranjeunna kalawan `! ' ; lamun nami host canonical cocog hiji pola negated, konci henteu ditarima. Tujuan pilihan ieu mun optionally kanaékan kaamanan: publik konci auténtikasi ku sorangan henteu percanten ka jaringan atawa ngaran server atawa nanaon (tapi konci); kumaha oge, lamun si kumaha bae nyolong konci éta, konci dina idin hiji jelema nu ngacow asup ti mana di dunya. pilihan tambahan ieu ngajadikeun maké konci dipaling leuwih hese (ngaran server jeung / atawa routers bakal kudu jadi compromised salian ngan konci).

paréntah = paréntah

Hususna nu sorana geus dieksekusi iraha konci ieu dipaké pikeun auténtikasi. Paréntah disadiakeun ku pamaké (lamun sagala) geus teu dipalire. sorana anu ngajalankeun kana pty a lamun klien nu requests pty a; disebutkeun eta dijalankeun tanpa TTY a. Mun hiji saluran bersih 8-bit anu diperlukeun, salah teu kudu menta pty atawa kedah nangtukeun no-pty A cutatan bisa jadi kaasup kana paréntah ku quoting eta kalawan backslash a. pilihan ieu bisa jadi mangpaat pikeun ngawatesan kenop publik tangtu pikeun ngalakukeun ngan operasi husus. Hiji conto bisa jadi hiji konci éta idin cadangan jauh tapi nanaon sejenna. Catet yén klien nu bisa nangtukeun TCP / IP jeung / atawa X11 diteruskeun iwal aranjeunna eksplisit ngalarang. Catet yén pilihan ieu manglaku ka batok, paréntah atawa palaksanaan subsistem.

lingkungan = NAME = nilai

Hususna nu string téh kudu ditambahkeun kana lingkungan nalika logging di maké konci ieu. variabel lingkungan diatur ku cara kieu override nilai lingkungan standar lianna. Sababaraha pilihan tina tipe ieu diijinkeun. Ngolah lingkungan anu ditumpurkeun sacara standar sarta dikawasa via pilihan PermitUserEnvironment. Pilihan ieu otomatis ditumpurkeun lamun UseLogin diaktipkeun.

no-port-diteruskeun

Forbids TCP / IP diteruskeun lamun konci ieu dipaké pikeun auténtikasi. Sagala port maju requests ku klien bakal balik kasalahan. Hal ieu bisa dipaké, misalna, dina sambungan kalawan pilihan paréntah.

no-X11-diteruskeun

Forbids X11 diteruskeun lamun konci ieu dipaké pikeun auténtikasi. Sagala X11 maju requests ku klien bakal balik kasalahan.

no-agén-diteruskeun

Forbids auténtikasi agén diteruskeun lamun konci ieu dipaké pikeun auténtikasi.

no-pty

Nyegah alokasi TTY (nu menta mun allocate pty bakal gagal).

permitopen = host: port

Ngawatesan lokal `` ssh -L '' port diteruskeun saperti nu eta wungkul bisa nyambung ka host dieusian jeung port. Alamat IPv6 bisa dieusian ku mangrupa rumpaka alternatif: host / port langkung pilihan permitopen tiasa dilarapkeun dipisahkeun ku koma. Taya cocog pola anu dipigawé dina hostnames baé, maranéhna kudu jadi domain literal atawa alamat.

conto

1024 33 12121 ... 312314325 ylo@foo.bar

ti = "*. niksula.hut.fi,! pc.niksula.hut.fi" 1024 35 23 ... 2334 ylo @ niksula

paréntah = "dump / home", no-pty, teu-port-diteruskeun 1024 33 23 ... 2323 backup.hut.fi

permitopen = "10.2.1.55:80", permitopen = "10.2.1.56:25" 1024 33 23 ... 2323

File Format Ssh_Known_Hosts

The / jsb / ssh / ssh_known_hosts na HOME / .ssh / payil known_hosts $ ngandung imah kenop umum pikeun sakabéh sarwa dipikawanoh. The file global kudu disiapkeun ku administrator (opsional), jeung file per-pamaké dijaga otomatis: iraha pamaké ngahubungkeun ti hiji host kanyahoan konci na geus ditambahkeun ka file per-pamaké.

Unggal garis dina file ieu ngandung widang di handap: hostnames, bit, exponent, modulus, comment. Huma anu dipisahkeun ku spasi.

Hostnames mangrupakeun daptar koma-dipisahkeun tina pola ( '*' na polah salaku wildcards '?'); unggal pola, kahareupna ieu loyog ngalawan nami host canonical (lamun authenticating a klien) atawa ngalawan nami-disadiakeun pamaké (lamun authenticating server a). Hiji pola bisa ogé jadi dimimitian ku `! ' keur nandaan negation: lamun nami host cocog hiji pola negated, mangka moal ditarima (ku garis nu) sanajan eta loyog pola sejen dina jalur.

Bit, exponent, sarta modulus nu dicokot langsung ti tombol host persÃ; aranjeunna tiasa didapet, misalna, ti /etc/ssh/ssh_host_key.pub The pilihan comment lapangan terus tungtung garis, sarta teu dipaké.

Garis dimimitian ku `# 'na garis kosong nu dipaliré sakumaha komentar.

Nalika ngajalankeun auténtikasi host, auténtikasi katampi lamun sagala garis cocog boga konci ditangtoskeun. Éta sahingga diidinan (tapi teu dianjurkeun) boga sababaraha garis atawa kenop host béda pikeun ngaran sarua. Ieu inevitably bakal kajadian lamun bentuk pondok tina ngaran host ti domain béda anu nempatkeun dina file. Ieu mungkin nu payil ngandung émbaran conflicting; auténtikasi katampi lamun informasi valid bisa kapanggih tina boh file.

Catetan yén garis dina file ieu ilaharna ratusan karakter panjang, jeung anjeun pasti teu hayang ngetik dina kenop host ku leungeun. Rada, ngahasilkeun aranjeunna ku ayana naskah atawa ku cara nyokot /etc/ssh/ssh_host_key.pub tur nambahkeun ngaran host di hareup.

conto

closenet, ..., 130.233.208.41 1024 37 159 ... 93 closenet.hut.fi cvs.openbsd.org, 199.185.137.3 ssh-persà AAAA1234 ..... =

Tempo ogé

scp (1), sftp (1), ssh (1), ssh-add1, ssh-agent1, ssh-keygen1, login.conf5, moduli (5), sshd_config5, sftp-server8

T. Ylonen T. Kivinen M. Saarinen T. Rinne S. Lehtinen "SSH Protocol Arsitéktur" draf-ietf-secsh-bina-12.txt Januari 2002 gawé di bahan kamajuan

M. Friedl N. Provos WA Simpson "Diffie-Hellman Grup Exchange keur SSH Angkutan Lapisan Protocol" draf-ietf-secsh-dh-group-tukeur-02.txt Januari 2002 gawé di bahan kamajuan

Nu penting: Paké paréntah lalaki (% lalaki) ningali kumaha paréntah nu dipaké dina komputer husus Anjeun.