Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Apakah kaedah yang digunakan oleh linux ssh?
pakej perisian openssh mengandungi arahan berikut:
sshd - program pelayan ssh
sftp-server - program pelayan sftp (serupa dengan ftp tetapi menyediakan penyulitan data) protokol)
scp - klien pelayan sftp tidak interaktif, digunakan untuk memuat naik/memuat turun fail ke pelayan
sftp - klien pelayan sftp interaktif, penggunaan adalah sama dengan arahan ftp.
slogin —— Alias ssh
ssh —— Program klien protokol ssh, digunakan untuk log masuk ke sistem jauh atau melaksanakan perintah dari jauh
ssh-add —— program berkaitan ejen ssh, digunakan untuk menambah pada ejen ssh dsa kunci
ssh-agent ―― ssh agent
ssh-keyscan ―― ssh penjana kunci awam
Cara yang paling biasa digunakan untuk menggunakan ssh ialah menggantikan telnet untuk remote log masuk. Berbeza dengan log masuk kata laluan telnet, ssh juga menyokong pelbagai kaedah log masuk seperti publickey, keybord interactive, gssapi, dll. Tidak seperti telnet, yang hanya mempunyai satu cara untuk memasukkan kata laluan sistem. Pada masa ini, kaedah log masuk yang paling biasa digunakan ialah kata laluan tradisional dan kaedah log masuk kunci awam. Berikut mengambil redhat as4 sebagai contoh untuk menggambarkan penggunaan kedua-dua kaedah log masuk ini.
[root@mail ~]# ssh 172.18.6.227
ketulenan hos '172.18.6.227 (172.18.6.227)' tidak dapat dipastikan.
cap jari kunci rsa ialah 43:80 :f2:e1:9b:b6:6e:c0:e2:dd:57:8f:ed:89:b3:81.
adakah anda pasti mahu terus menyambung (ya/tidak) ya
amaran: ditambahkan secara kekal '172.18.6.227′ (rsa) pada senarai hos yang diketahui.
kata laluan root@172.18.6.227:
log masuk terakhir: thu jul 12 18:47:47 2007 daripada 172.18.6.2007
[root@qmail ~]#
Selepas log masuk buat kali pertama, ssh akan menyimpan cap jari ssh yang dilog masuk dalam fail know_hosts direktori .ssh dalam direktori utama pengguna sistem jauh telah dipasang semula Sistem, cap jari ssh telah ditukar Anda perlu memadam cap jari yang sepadan dalam know_hosts dalam direktori .ssh, kemudian log masuk dan jawab ya sebelum log masuk. Sila ambil perhatian bahawa direktori .ssh ialah direktori tersembunyi bermula dengan "." dan memerlukan parameter ls –a untuk melihatnya. Selain itu, keizinan direktori ini mestilah 700, dan direktori rumah pengguna tidak boleh memberi pengguna lain keizinan menulis, jika tidak pelayan ssh akan menolak untuk log masuk. Jika anda tidak dapat log masuk, sila semak fail log /var/log/secure pada pelayan. Sebab mengapa anda tidak boleh log masuk biasanya boleh didapati dengan cepat.
arahan pelaksanaan jauh ssh:
[root@mail ~]# ssh 172.18.6.227 ls -l /
kata laluan root@172.18.6.227:
jumlah 1244
drwxr-xr-x 2 punca akar 4096 jun 26 04:02 tong
drwxr-xr-x 4 akar akar 4096 mac 29 11:17 but
xr-xr-xr root root 4096 jan 25 11:26 command
drwxr-xr-x 15 root root 4096 jun 12 20:09 data
drwxr-xr-x 9 root root 5360 jul 2 13:38 dev DRWXR-XR-X 20 Root Root 4096 APR 10:54 Home
DRWXR-X 2 Root Root 4096 AUG 13 2004 Selepas memasukkan kata laluan yang betul, ssh akan menyambung ke program pelayan sshd pelayan jauh, kemudian melaksanakan perintah
ls –l / pada pelayan jauh, dan menghantar hasil input ke pelayan tempatan. Ia sama dengan log masuk ke pelayan jauh dahulu, kemudian melaksanakan perintah ls –l /, dan akhirnya log keluar dari pelayan. Perlu diingatkan bahawa jika anda perlu log masuk ke pelayan dan melaksanakan lebih daripada satu arahan, arahan itu mesti disertakan dalam petikan tunggal atau petikan berganda:
ssh 172.18.6.227 “cd /root && ls “
Gunakan kunci awam untuk log masuk:
Arahan ssh-keygen Openssh digunakan untuk menjana kunci peribadi dan awam sedemikian.
[root@mail ~]# ssh-keygen -b 1024 -t dsa -c gucuiwen@myserver.com
menjana pasangan kunci dsa awam/swasta.
#Gesaan sedang dijana panjang 4096, Ia mungkin mengambil masa yang lama
masukkan fail untuk menyimpan kunci (/root/.ssh/id_dsa):
#Tanya di mana untuk meletakkan kunci awam dan peribadi, tekan Enter dan gunakan lokasi lalai
masukkan frasa laluan (kosong untuk tiada frasa laluan):
#Minta untuk memasukkan kata laluan kunci peribadi, anda tidak seharusnya memasukkan kata laluan, hanya tekan Enter
masukkan frasa laluan yang sama sekali lagi :
#Prompt untuk memasukkan kata laluan sekali lagi, sekali lagi Hanya tekan Enter
pengenalan anda telah disimpan dalam /root/.ssh/id_dsa.
kunci awam anda telah disimpan dalam /root/.ssh/id_dsa .pub.
# Gesa untuk kunci awam dan kunci persendirian Sudah disimpan dalam direktori /root/.ssh/
cap jari kunci ialah:
71:e5:cb:15:d3:8c:05: ed:05:84:85:32:ce:b1: 31:ce gucuiwen@myserver.com
# Cap jari kunci segera
Arahan:
-b 1024 Gunakan pasangan kunci awam/peribadi dengan panjang 1024 bait, sehingga 4096 bait, Secara amnya, 1024 atau 2048 sudah memadai. Jika terlalu panjang, penyulitan dan penyahsulitan akan mengambil masa yang lama.
-t dsa Pasangan kunci awam/pribadi menggunakan kaedah penyulitan dsa Selain dsa, terdapat juga kaedah rsa Panjang minimum kaedah rsa tidak boleh kurang daripada 768 bait.
-c gucuiwen@myserver.com Ulasan dan perihalan pasangan kunci awam/peribadi ini, biasanya digantikan dengan e-mel pemilik. Anda boleh meninggalkannya Untuk lebih banyak parameter lain, sila man ssh-keygen.
[root@mail ~]# ls -l /root/.ssh
jumlah 16
-rw——- 1 root root 668 jul 12 20:07 id_dsa
-rw- r–r– 1 root root 611 jul 12 20:07 id_dsa.pub
-rw-r–r– 1 root root 222 jul 12 19:37 fail kunci awam/private key yang dijana oleh known_hosts
Dalam direktori .ssh direktori rumah pengguna, id_dsa.pub ialah kunci awam yang dijanakan ke direktori .ssh bagi direktori rumah bagi direktori pengguna yang sepadan bagi pelayan yang akan dilog masuk. direktori pengguna sendiri ditekankan (direktori rumah) mestilah tidak mempunyai kebenaran boleh ditulis oleh orang lain Keizinan direktori .ssh mestilah 700, iaitu, tiada orang lain kecuali pengguna sendiri mempunyai sebarang kebenaran untuk membaca, menulis atau melihat direktori, jika tidak pelayan ssh akan menolak untuk log masuk. Fail kunci awam lalai ssh ialah fail authorized_keys dalam direktori .ssh dalam direktori rumah pengguna Oleh itu, kunci awam yang dijana perlu diletakkan dalam direktori /root/.ssh/ pelayan di bawah nama fail ini fail boleh disimpan dalam fail ini Fail kunci awam pelanggan adalah seperti pintu yang boleh mempunyai banyak kunci, dan kunci yang berbeza boleh digunakan untuk cuba membuka kunci selagi satu kunci dibuka, pintu boleh dibuka. Ia sepatutnya kelihatan seperti ini apabila diletakkan pada pelayan:
Kunci peribadi mesti mempunyai 600 kebenaran, jika tidak pelayan ssh akan menolak pengguna untuk log masuk.
Ini kira-kira rupanya. Sekarang mari kita bercakap tentang konfigurasi /etc/ssh/ssh_config dan /etc/ssh/sshd_config.
/etc/ssh/ssh_config:
host *
Pilihan "host" hanya sah untuk komputer yang boleh sepadan dengan rentetan berikut. "*" menunjukkan semua komputer.
forwardagent no
"forwardagent" menetapkan sama ada sambungan dimajukan ke komputer jauh melalui ejen pengesahan (jika ada).
forwardx11 no
"forwardx11" menetapkan sama ada sambungan x11 diubah hala secara automatik ke saluran selamat dan set paparan.
rhostsauthentication no
"rhostsauthentication" menetapkan sama ada untuk menggunakan pengesahan keselamatan berasaskan rhosts.
rhostsrsaauthentication no
"rhostsrsaauthentication" menetapkan sama ada untuk menggunakan rhosts-based security authentication menggunakan algoritma rsa.
rsaauthentication ya
"rsaauthentication" menetapkan sama ada untuk menggunakan algoritma rsa untuk pengesahan keselamatan.
passwordauthentication ya
"passworddauthentication" menetapkan sama ada untuk menggunakan pengesahan kata laluan.
fallbacktorsh no
"fallbacktorsh" menetapkan sama ada untuk menggunakan rsh secara automatik jika ralat berlaku semasa menyambung dengan ssh.
usersh no
"usersh" menetapkan sama ada untuk menggunakan "rlogin/rsh" pada komputer ini.
no batchmode
Jika "batchmode" ditetapkan kepada "ya", gesaan frasa laluan/kata laluan (input kata laluan interaktif) akan dilumpuhkan. Pilihan ini berguna untuk fail skrip dan tugas kelompok apabila kemasukan kata laluan interaktif tidak dapat dilakukan.
checkhostip ya
"checkhostip" menetapkan sama ada ssh menyemak alamat IP hos yang disambungkan ke pelayan untuk mengelakkan spoofing dns. Adalah disyorkan untuk menetapkannya kepada "ya".
stricthostkeychecking no
Jika "stricthostkeychecking" ditetapkan kepada "ya", ssh tidak akan secara automatik menambah kunci komputer pada fail "$home/.ssh/known_hosts" dan sebaik sahaja kunci komputer dijana Sekiranya terdapat perubahan, sambungan akan ditolak.
identityfile ~/.ssh/identity
"identityfile" menetapkan fail untuk membaca pengenalan pengesahan keselamatan rsa pengguna.
port 22
"port" menetapkan port untuk menyambung ke hos jauh.
cipher blowfish
“cipher” menetapkan kata laluan untuk penyulitan.
escapechar ~
"escapechar" menetapkan watak melarikan diri.
/etc/ssh/sshd_config:
port 22
"port" menetapkan nombor port untuk mendengar sshd.
listenaddress 192.168.1.1
"listenaddress" menetapkan alamat ip terikat pada pelayan sshd.
kunci hos /etc/ssh/ssh_host_key
Fail tetapan "kunci hos" mengandungi kunci peribadi komputer.
serverkeybits 1024
"serverkeybits" mentakrifkan bilangan bit dalam kunci pelayan.
loggingracetime 600
"loggingracetime" menetapkan masa (dalam saat) pelayan perlu menunggu sebelum memutuskan sambungan jika pengguna tidak berjaya log masuk.
keyregenerationinterval 3600
"keyregenerationinterval" menetapkan bilangan saat selepas itu kunci pelayan akan dijana semula secara automatik (jika kunci digunakan). Kunci semula digunakan untuk menghalang mesej yang dipintas daripada dinyahsulit dengan kunci yang dicuri.
permitrootlogin no
"permitrootlogin" menetapkan sama ada root boleh log masuk menggunakan ssh. Pilihan ini tidak boleh ditetapkan kepada "ya".
ignorerhosts ya
"ignorerhosts" menetapkan sama ada untuk menggunakan fail "rhosts" dan "shosts" semasa pengesahan.
ignoreuserknownhosts ya
"ignoreuserknownhosts" menetapkan sama ada daemon ssh mengabaikan "$home/.ssh/known_hosts" pengguna semasa melakukan pengesahan keselamatan pengesahan rhostsrsaa
desmodes ketat ya
" Tetapkan sama ada ssh menyemak kebenaran dan pemilikan direktori rumah pengguna dan fail rhosts sebelum menerima permintaan log masuk. Ini selalunya diperlukan kerana pemula sering menetapkan direktori dan fail mereka supaya semua orang mempunyai akses tulis.
x11forwarding no
"x11forwarding" menetapkan sama ada untuk membenarkan x11 forwarding.
printmotd ya
"printmotd" menetapkan sama ada sshd memaparkan maklumat dalam "/etc/motd" apabila pengguna log masuk.
syslogfacility auth
"syslogfacility" menetapkan sama ada untuk memberikan "kod kemudahan" semasa mengelog mesej daripada sshd.
maklumat loglevel
"loglevel" menetapkan tahap di mana mesej log sshd direkodkan. info adalah pilihan yang baik. Semak halaman lelaki sshd untuk maklumat lanjut.
rhostsauthentication no
Adakah tetapan "rhostsauthentication" mencukupi untuk menggunakan hanya rhosts atau "/etc/hosts.equiv" untuk pengesahan keselamatan.
rhostsrsaauthentication no
"rhostsrsa" menetapkan sama ada untuk membenarkan pengesahan keselamatan menggunakan rhosts atau "/etc/hosts.equiv" ditambah rsa.
rsaauthentication ya
Tetapan "rsaauthentication" membenarkan hanya pengesahan keselamatan rsa.
passwordauthentication ya
"passworddauthentication" menetapkan sama ada untuk membenarkan pengesahan kata laluan.
permitemptypasswords no
"permitemptypasswords" menetapkan sama ada untuk membenarkan log masuk dengan akaun dengan kata laluan kosong.
allowusers admin
"allowusers" boleh diikuti oleh sebarang bilangan rentetan padanan nama pengguna (corak) atau rentetan yang sepadan seperti pengguna@host Rentetan ini dipisahkan oleh ruang. Nama hos boleh menjadi nama DNS atau alamat IP.
Tukar kunci awam dalam format serasi ssh2 kepada format serasi openssh
ssh-keygen -i -f identity.pub >> kunci_benar2
Atas ialah kandungan terperinci Apakah kaedah yang digunakan oleh linux ssh?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!