[OpenBSD]

Halaman manual Parameter Pencarian








slogin (1) Klien OpenSSH SSH (program remote login)
ssh (1) Klien OpenSSH SSH (program remote login)




SSH (1) Perintah Umum Pedoman SSH (1)

NAME

ssh - klien OpenSSH SSH (program remote login)

SINOPSIS



ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:] port] [E-log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [- L [bind_address:] Port: host: hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [opsi-o] [-p port] [-Q cipher | cipher-auth | mac | Kex | kunci ] [-R [bind_address:] Port: host: hostport] [-S ctl_path] [W-host: port] [-w local_tun [: remote_tun]] [user @] hostname [command]

KETERANGAN

ssh (client SSH) adalah sebuah program untuk login ke mesin remote dan mengeksekusi perintah pada mesin remote.

Hal ini dimaksudkan untuk menggantikan rlogin dan rsh, dan menyediakan

komunikasi terenkripsi yang aman antara dua host terpercaya melalui

jaringan yang tidak aman.
Koneksi X11 dan port TCP sewenang-wenang juga dapat diteruskan melalui saluran aman. ssh menghubungkan dan log ke hostname yang ditentukan (dengan nama pengguna opsional).

Pengguna harus membuktikan / identitasnya nya ke mesin remote

menggunakan salah satu dari beberapa metode tergantung pada versi

protokol yang digunakan (lihat di bawah).



Jika perintah yang ditentukan, dieksekusi pada host remote bukannya shell login.


Pilihannya adalah sebagai berikut:


-1

Angkatan ssh untuk mencoba protokol versi 1 saja.

-2

Angkatan ssh untuk mencoba protokol versi 2 saja.

-4

Angkatan ssh hanya menggunakan alamat IPv4.

-6

Angkatan ssh hanya menggunakan alamat IPv6.

-A

Mengaktifkan forwarding koneksi agen otentikasi. Hal ini juga dapat ditentukan pada basis per-host di file konfigurasi.
Agen forwarding harus diaktifkan dengan hati-hati. Pengguna dengan kemampuan untuk memotong hak akses file pada remote host (untuk agen soket UNIX-domain) dapat mengakses agen lokal melalui sambungan diteruskan.
Seorang penyerang tidak dapat memperoleh bahan kunci dari agen, namun
mereka dapat melakukan operasi pada tombol yang memungkinkan mereka
untuk mengotentikasi menggunakan identitas dimuat ke agen.

-A

Menonaktifkan forwarding koneksi agen otentikasi.

-B bind_address

Gunakan bind_address pada mesin lokal sebagai alamat sumber koneksi. Hanya berguna pada sistem dengan lebih dari satu alamat.

-C

Permintaan kompresi dari semua data (termasuk stdin, stdout, stderr, dan data untuk diteruskan X11 dan koneksi TCP). Algoritma kompresi adalah sama yang digunakan oleh gzip (1) , dan "tingkat" dapat dikendalikan oleh opsi CompressionLevel
untuk protokol versi 1. Kompresi yang diinginkan pada baris modem dan
koneksi yang lambat lainnya, tetapi hanya akan memperlambat hal pada
jaringan cepat .
Nilai default dapat diatur pada host-by-tuan dasar dalam file konfigurasi; melihat pilihan kompresi.

-C cipher_spec

Memilih spesifikasi cipher untuk mengenkripsi sesi. Protocol versi 1 memungkinkan spesifikasi dari sebuah cipher tunggal. Nilai-nilai yang didukung adalah "3des", "blowfish", dan "des". Untuk protokol versi 2, cipher_spec adalah daftar dipisahkan koma cipher tercantum dalam urutan preferensi. Lihat kata kunci Ciphers di ssh_config (5) untuk informasi lebih lanjut.

-D [bind_address:] pelabuhan

Menentukan lokal "dinamis" application-level port forwarding. Ini bekerja dengan mengalokasikan socket untuk mendengarkan port pada sisi lokal, opsional terikat pada bind_address ditentukan.
Setiap kali sambungan dibuat ke port ini, sambungan diteruskan melalui
saluran aman, dan protokol aplikasi ini kemudian digunakan untuk
menentukan di mana untuk terhubung ke dari mesin remote.
Saat ini protokol SOCKS4 dan SOCKS5 didukung, dan ssh akan bertindak sebagai server SOCKS. Hanya akar dapat meneruskan port istimewa. Pelabuhan forwardings dinamis juga dapat ditentukan dalam file konfigurasi. Alamat IPv6 dapat ditentukan dengan melampirkan alamat dalam tanda kurung siku. Hanya superuser dapat meneruskan port istimewa. Secara default, port lokal terikat sesuai dengan GatewayPorts pengaturan. Namun, bind_address eksplisit dapat digunakan untuk mengikat sambungan ke alamat tertentu. The bind_address
dari "localhost" menunjukkan bahwa port mendengarkan terikat untuk
penggunaan lokal saja, sedangkan alamat kosong atau '*' menunjukkan
bahwa port harus tersedia dari semua antarmuka.

E-log_file

Menambahkan log debug untuk log_file bukan standard error.

-E escape_char

Mengatur karakter escape untuk sesi dengan pty (default: ' ~ '). Karakter escape hanya diakui di awal baris. ('Karakter escape diikuti oleh sebuah titik . ') menutup koneksi; diikuti dengan kontrol-Z menunda sambungan; dan diikuti dengan sendirinya mengirimkan karakter escape sekali. Mengatur karakter untuk "none" menonaktifkan setiap lolos dan membuat sesi sepenuhnya transparan.

-F configfile

Menentukan alternatif file konfigurasi per-user. Jika sebuah file konfigurasi yang diberikan pada baris perintah, file konfigurasi system-wide (/ etc / ssh / ssh_config) akan diabaikan. Default untuk file konfigurasi per-user adalah ~ / .ssh / config.

-F

Permintaan ssh untuk pergi ke latar belakang sebelum perintah eksekusi. Hal ini berguna jika ssh akan meminta password atau passphrase, tetapi pengguna menginginkannya di latar belakang. Ini berarti-n. Cara yang disarankan untuk memulai program X11 di lokasi terpencil adalah dengan sesuatu seperti ssh-f tuan xterm. Jika opsi konfigurasi ExitOnForwardFailure diatur ke "ya", maka klien dimulai dengan-f akan menunggu untuk semua pelabuhan ke depan jauh akan berhasil didirikan sebelum menempatkan dirinya di latar belakang.

-G

Memungkinkan remote host untuk terhubung ke port diteruskan lokal. Jika digunakan pada koneksi multiplexing, maka opsi ini harus ditentukan pada proses master.

-I pkcs11

Tentukan PKCS # 11 bersama ssh perpustakaan harus digunakan untuk berkomunikasi dengan token PKCS # 11 yang menyediakan kunci pribadi pengguna RSA.

-I identity_file

Memilih file dari mana identitas (private key) untuk otentikasi kunci publik dibaca. Standarnya adalah ~ / .ssh / identity untuk protokol versi 1, dan ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa, ~ / .ssh/id_ed25519 dan ~ / .ssh / id_rsa untuk protokol versi 2. File Identity mungkin juga dapat ditentukan pada basis per-host di file konfigurasi. Hal ini dimungkinkan untuk memiliki beberapa opsi-i (dan banyak identitas yang ditentukan dalam file konfigurasi). Ssh juga akan mencoba untuk memuat informasi sertifikat dari nama file yang diperoleh dengan menambahkan-cert.pub untuk nama file identitas.

-K

Mengaktifkan otentikasi GSSAPI berbasis dan forwarding (delegasi) dari GSSAPI kredensial ke server.

-K

Menonaktifkan forwarding (delegasi) dari GSSAPI kredensial ke server.

-L [bind_address:] Port: host: hostport

Menentukan bahwa port yang diberikan di tingkat lokal (client) host untuk diteruskan ke diberikan host dan port di sisi remote. Ini bekerja dengan mengalokasikan socket untuk mendengarkan port pada sisi lokal, opsional terikat pada bind_address ditentukan. Setiap kali sambungan dibuat ke port ini, sambungan diteruskan melalui saluran aman, dan sambungan dibuat untuk menjadi tuan rumah hostport port dari mesin remote. Pelabuhan forwardings juga dapat ditentukan pada file konfigurasi. Alamat IPv6 dapat ditentukan dengan melampirkan alamat dalam tanda kurung siku. Hanya superuser dapat meneruskan port istimewa. Secara default, port lokal terikat sesuai dengan GatewayPorts pengaturan. Namun, bind_address eksplisit dapat digunakan untuk mengikat sambungan ke alamat tertentu. The bind_address
dari "localhost" menunjukkan bahwa port mendengarkan terikat untuk
penggunaan lokal saja, sedangkan alamat kosong atau '*' menunjukkan
bahwa port harus tersedia dari semua antarmuka.

-L login_name

Menentukan pengguna untuk log in sebagai pada mesin remote. Hal ini juga dapat ditentukan pada basis per-host di file konfigurasi.

-M

Menempatkan klien ssh menjadi "master" modus untuk berbagi koneksi. Pilihan Multiple-M tempat ssh ke "master" modus dengan konfirmasi diperlukan sebelum koneksi budak diterima. Lihat keterangan dari ControlMaster di ssh_config (5) untuk rincian.

Mac_spec-m


Selain itu, untuk protokol versi 2 daftar dipisahkan koma dari MAC
(kode otentikasi pesan) algoritma dapat ditentukan dalam urutan pilihan.
Lihat Mac kata kunci untuk informasi lebih lanjut.

-N

Jangan mengeksekusi perintah remote. Hal ini berguna untuk hanya port forwarding (protokol versi 2 saja).

-N

Pengalihan stdin dari / dev / null (sebenarnya, mencegah membaca dari stdin). Ini harus digunakan ketika ssh dijalankan di latar belakang. Trik umum adalah dengan menggunakan ini untuk menjalankan program X11 pada mesin remote. Misalnya, ssh-n emacs shadows.cs.hut.fi & akan memulai emacs pada shadows.cs.hut.fi, dan koneksi X11 akan secara otomatis diteruskan melalui saluran terenkripsi. Program ssh akan dimasukkan ke dalam latar belakang. (Ini tidak bekerja jika ssh perlu untuk meminta password atau passphrase, lihat juga opsi-f.)

-O ctl_cmd

Mengontrol proses master koneksi multiplexing aktif. Ketika-O opsi ditentukan, argumen ctl_cmd ditafsirkan dan diteruskan ke proses master.
Perintah yang valid adalah: "memeriksa" (memeriksa bahwa proses master
berjalan), "maju" (permintaan forwardings tanpa perintah eksekusi),
"membatalkan" (membatalkan forwardings), "exit" (permintaan master untuk
keluar), dan "berhenti "(meminta master untuk berhenti menerima
permintaan multiplexing lanjut).

Opsi-o

Dapat digunakan untuk memberikan pilihan dalam format yang digunakan dalam file konfigurasi. Hal ini berguna untuk pilihan yang tidak ada terpisah bendera baris perintah menentukan. Untuk rincian lengkap tentang opsi yang tercantum di bawah, dan nilai-nilai mereka mungkin, lihat ssh_config (5) .


AddressFamily



BatchMode



BindAddress



CanonicalDomains



CanonicalizeFallbackLocal



CanonicalizeHostname



CanonicalizeMaxDots



CanonicalizePermittedCNAMEs



ChallengeResponseAuthentication



CheckHostIP



Sandi



Cipher



ClearAllForwardings



Kompresi



CompressionLevel



ConnectionAttempts



ConnectTimeout



ControlMaster



ControlPath



ControlPersist



DynamicForward



EscapeChar



ExitOnForwardFailure



ForwardAgent



ForwardX11



ForwardX11Timeout



ForwardX11Trusted



GatewayPorts



GlobalKnownHostsFile



GSSAPIAuthentication



GSSAPIDelegateCredentials



HashKnownHosts



Tuan rumah



HostbasedAuthentication



HostKeyAlgorithms



HostKeyAlias



Hostname



IdentityFile



IdentitiesOnly



IPQoS



KbdInteractiveAuthentication



KbdInteractiveDevices



KexAlgorithms



LocalCommand



LocalForward



LogLevel



MACS



Pertandingan



NoHostAuthenticationForLocalhost



NumberOfPasswordPrompts



PasswordAuthentication



PermitLocalCommand



PKCS11Provider



Pelabuhan



PreferredAuthentications



Protokol



ProxyCommand



ProxyUseFdpass



PubkeyAuthentication



RekeyLimit



RemoteForward



RequestTTY



RhostsRSAAuthentication



RSAAuthentication



SendEnv



ServerAliveInterval



ServerAliveCountMax



StreamLocalBindMask



StreamLocalBindUnlink



StrictHostKeyChecking



TCPKeepAlive



Terowongan



TunnelDevice



UsePrivilegedPort



Pemakai



UserKnownHostsFile



VerifyHostKeyDNS



VisualHostKey



XAuthLocation




Port-p


Port untuk menghubungkan ke pada remote host. Hal ini dapat ditentukan pada basis per-host file konfigurasi.


-Q cipher | cipher-auth | mac | Kex | kunci


Pertanyaan ssh untuk algoritma didukung untuk ditentukan versi 2 Fitur yang tersedia adalah:. Cipher (cipher didukung simetris), cipher-auth (didukung cipher simetris yang mendukung dikonfirmasi enkripsi), mac (didukung kode integritas pesan), Kex (algoritma pertukaran kunci ), kunci (key jenis).


-Q


Mode diam. Penyebab paling peringatan dan pesan diagnostik harus ditekan.


-R [bind_address:] Port: host: hostport


Menentukan bahwa port tertentu pada remote (Server) host untuk diteruskan ke host dan port yang diberikan pada sisi lokal. Ini bekerja dengan mengalokasikan socket untuk mendengarkan port

pada sisi remote, dan setiap kali sambungan dibuat ke port ini,

sambungan diteruskan melalui saluran aman, dan sambungan dibuat untuk menjadi tuan rumah hostport port dari mesin lokal.
Pelabuhan forwardings juga dapat ditentukan pada file konfigurasi. Port istimewa dapat diteruskan hanya ketika login sebagai root pada mesin remote. Alamat IPv6 dapat ditentukan dengan melampirkan alamat dalam tanda kurung siku.


Secara default, soket mendengarkan pada server akan terikat ke antarmuka loopback saja. Hal ini dapat diganti dengan menentukan bind_address a. Sebuah bind_address kosong, atau alamat ' * ', menunjukkan bahwa soket remote harus mendengarkan pada semua antarmuka. Menentukan bind_address terpencil hanya akan berhasil jika opsi server GatewayPorts diaktifkan (lihat sshd_config (5) ).


Jika argumen port ' 0 ', mendengarkan pelabuhan akan dialokasikan secara dinamis pada server dan melaporkan kepada klien pada saat dijalankan. Ketika digunakan bersama-sama dengan-O meneruskan port yang dialokasikan akan dicetak ke standard output.


Ctl_path-S


Menentukan lokasi soket kontrol untuk berbagi koneksi, atau string "none" untuk menonaktifkan berbagi koneksi. Lihat deskripsi ControlPath dan ControlMaster di ssh_config (5) untuk rincian.


-S


Bisa digunakan untuk meminta doa dari subsistem pada sistem remote.

Subsistem adalah fitur dari protokol SSH2 yang memfasilitasi penggunaan

SSH sebagai transportasi yang aman untuk aplikasi lain (misalnya sftp (1) ).
Subsistem ditentukan sebagai perintah remote.


-T


Nonaktifkan alokasi pseudo-tty.


-T


Angkatan alokasi pseudo-tty.

Ini dapat digunakan untuk menjalankan program berbasis layar

sewenang-wenang pada mesin remote, yang dapat sangat berguna, misalnya

ketika menerapkan layanan menu.
Multiple-t alokasi opsi kekuatan tty, bahkan jika ssh tidak memiliki tty lokal.


-V


Menampilkan nomor versi dan keluar.


-V


Modus verbose. Penyebab ssh untuk mencetak debug pesan tentang kemajuannya. Hal ini membantu dalam koneksi debugging, otentikasi, dan masalah konfigurasi. Semakin banyak opsi-v meningkatkan bertele-tele. Maksimal adalah 3.


W-host: port


Meminta agar standar input dan output pada klien diteruskan untuk menjadi tuan rumah pada port melalui saluran aman. Menyiratkan-N,-T, ExitOnForwardFailure dan ClearAllForwardings. Bekerja dengan Protocol versi 2 saja.


-W local_tun [: remote_tun]


Permintaan terowongan perangkat forwarding dengan ditentukan tun (4) perangkat antara klien (local_tun) dan server (remote_tun).

Perangkat dapat ditentukan oleh ID numerik atau kata kunci "apapun",

yang menggunakan perangkat yang tersedia terowongan berikutnya.
Jika remote_tun tidak ditentukan, standarnya ke "apapun". Lihat juga Tunnel dan TunnelDevice arahan di ssh_config (5) . Jika direktif Tunnel tidak ditentukan, sudah diatur ke modus terowongan default, yaitu "point-to-point".


-X


Memungkinkan X11 forwarding. Hal ini juga dapat ditentukan pada basis per-host di file konfigurasi. X11 forwarding harus diaktifkan dengan hati-hati.

Pengguna dengan kemampuan untuk memotong hak akses file pada remote

host (untuk X database otorisasi pengguna) dapat mengakses tampilan X11

lokal melalui sambungan diteruskan.
Seorang penyerang kemudian mungkin dapat melakukan kegiatan seperti monitoring keystroke.


Untuk alasan ini, X11 forwarding dikenakan pembatasan ekstensi X11 KEAMANAN secara default. Silakan lihat opsi ssh-Y dan direktif ForwardX11Trusted di ssh_config (5) untuk informasi lebih lanjut.


-X


Menonaktifkan X11 forwarding.


-Y


Memungkinkan X11 forwarding Web. Trusted forwardings X11 tidak tunduk pada kontrol ekstensi KEAMANAN X11.


-Y


Mengirim informasi log menggunakan syslog (3) modul sistem. Secara default informasi ini dikirim ke stderr.
ssh tambahan dapat memperoleh data konfigurasi dari file konfigurasi per-user dan file konfigurasi sistem. Format file dan opsi konfigurasi yang dijelaskan dalam ssh_config (5) .

Otentikasi



Klien OpenSSH SSH mendukung protokol SSH 1 dan 2. Default adalah dengan

menggunakan protokol 2 saja, meskipun hal ini dapat diubah melalui opsi

Protocol di ssh_config (5) atau -1 dan -2 pilihan (lihat di atas).


Kedua protokol mendukung metode otentikasi yang sama, tetapi protokol 2

adalah default karena memberikan mekanisme tambahan untuk kerahasiaan

(lalu lintas dienkripsi menggunakan AES, 3DES, Blowfish, CAST128, atau

Arcfour) dan integritas (hmac-md5, sha1-hmac, hmac- SHA2-256,

hmac-SHA2-512, umac-64, umac-128, hmac-RIPEMD160).
Protokol 1 tidak memiliki mekanisme yang kuat untuk memastikan integritas sambungan.

Metode yang tersedia untuk otentikasi adalah: otentikasi berbasis

GSSAPI, otentikasi berbasis host, otentikasi kunci publik, otentikasi

tantangan-respon, dan otentikasi password.


Metode otentikasi dicoba dalam urutan yang disebutkan di atas, meskipun

protokol 2 memiliki opsi konfigurasi untuk mengubah urutan default: PreferredAuthentications.



Otentikasi berbasis host bekerja sebagai berikut: Jika mesin user log in dari terdaftar di / etc / hosts.equiv atau / etc / shosts.equiv pada mesin remote, dan nama-nama pengguna yang sama di kedua sisi, atau jika rhosts file ~ /. atau shosts ~ /.

ada di direktori home pengguna pada mesin remote dan mengandung baris

yang berisi nama komputer klien dan nama pengguna pada mesin itu,

pengguna dianggap untuk login.
Selain itu, server harus mampu memverifikasi tombol host klien (lihat deskripsi / etc / ssh / ssh_known_hosts dan ~ / .ssh / known_hosts, bawah) untuk login diijinkan. Metode otentikasi ini menutup lubang keamanan karena IP spoofing, DNS spoofing, dan routing spoofing. [Catatan untuk administrator: rhosts / etc / hosts.equiv, ~ /, dan protokol rlogin / rsh pada umumnya, secara inheren tidak aman dan harus dinonaktifkan jika keamanan yang diinginkan..]




Otentikasi kunci publik bekerja sebagai berikut: Skema ini didasarkan

pada kriptografi kunci publik, menggunakan kriptografi di mana enkripsi

dan dekripsi dilakukan dengan menggunakan kunci terpisah, dan itu tidak

layak untuk mendapatkan kunci dekripsi dari kunci enkripsi.
Idenya adalah bahwa setiap pengguna membuat kunci publik / privat pasangan untuk keperluan otentikasi. Server tahu kunci publik, dan hanya pengguna mengetahui kunci privat. Ssh

mengimplementasikan protokol otentikasi kunci publik secara otomatis,

menggunakan salah satu DSA, ECDSA, ED25519 atau RSA algoritma.
Protokol 1 dibatasi untuk hanya menggunakan kunci RSA, tetapi protokol 2 Mei menggunakan. Bagian SEJARAH dari ssl (8) berisi diskusi singkat mengenai DSA dan RSA algoritma.


File ~ / .ssh / authorized_keys daftar kunci publik yang diizinkan untuk penebangan masuk Ketika pengguna log in, program ssh memberitahu server yang pasangan kunci itu ingin gunakan untuk otentikasi.

Klien membuktikan bahwa ia memiliki akses ke kunci pribadi dan cek

server yang kunci publik yang sesuai berwenang untuk menerima account.



Pengguna membuat / nya sepasang kunci dengan menjalankan ssh-keygen (1) . Ini menyimpan kunci pribadi di ~ / .ssh / identity (protokol 1), ~ / .ssh / id_dsa (protokol 2 DSA), ~ / .ssh / id_ecdsa (protokol 2 ECDSA), ~ / .ssh/id_ed25519 (protokol 2 ED25519), atau ~ / .ssh / id_rsa (protokol 2 RSA) dan menyimpan kunci publik di ~ / .ssh / identity.pub (protokol 1), ~ / .ssh / id_dsa.pub (protokol 2 DSA), ~ / .ssh / id_ecdsa.pub (protokol 2 ECDSA), ~ / .ssh/id_ed25519.pub (protokol 2 ED25519), atau ~ / .ssh / id_rsa.pub (protokol 2 RSA) dalam direktori home user. Pengguna kemudian harus menyalin kunci publik ke ~ / .ssh / authorized_keys di / direktori home nya pada mesin remote. File authorized_keys sesuai dengan file konvensional ~ /. Rhosts, dan memiliki satu kunci per baris, meskipun garis bisa sangat lama. Setelah ini, pengguna dapat log in tanpa memberikan password.




Sebuah variasi pada otentikasi kunci publik tersedia dalam bentuk

otentikasi sertifikat: bukannya satu set kunci publik / privat,

sertifikat yang ditandatangani digunakan.


Hal ini memiliki keuntungan bahwa otoritas sertifikasi terpercaya

tunggal dapat digunakan di tempat banyak kunci publik / privat.
Lihat SERTIFIKAT bagian ssh-keygen (1) untuk informasi lebih lanjut.


Cara yang paling mudah untuk menggunakan kunci publik atau otentikasi sertifikat mungkin dengan agen otentikasi. Lihat ssh-agent (1) untuk informasi lebih lanjut.




Otentikasi tantangan-respon bekerja sebagai berikut: Server mengirimkan

sewenang-wenang "tantangan" teks, dan meminta tanggapan.
Protokol 2 memungkinkan beberapa tantangan dan tanggapan; protokol 1 dibatasi hanya satu tantangan / tanggapan. Contoh otentikasi tantangan-respon termasuk BSD Authentication (lihat login.conf (5) ) dan PAM (beberapa sistem non-OpenBSD).


Akhirnya, jika metode otentikasi lain gagal, ssh meminta pengguna untuk password. Sandi akan dikirim ke remote host untuk memeriksa; Namun, karena semua komunikasi akan dienkripsi, password tidak dapat dilihat oleh seseorang mendengarkan pada jaringan.


ssh secara otomatis menjaga dan memeriksa identifikasi database yang berisi semua host yang pernah digunakan dengan. Kunci host disimpan di ~ / .ssh / known_hosts dalam direktori home user. Selain itu, file / etc / ssh / ssh_known_hosts secara otomatis diperiksa untuk diketahui host. Setiap host baru secara otomatis ditambahkan ke file pengguna. Jika identifikasi sebuah host pernah berubah, ssh

memperingatkan tentang hal ini dan menonaktifkan otentikasi password

untuk mencegah Server spoofing atau man-in-the-middle serangan, yang

sebenarnya dapat digunakan untuk menghindari enkripsi.
The StrictHostKeyChecking pilihan dapat digunakan untuk mengontrol login ke mesin yang host key tidak diketahui atau telah berubah.




Ketika identitas pengguna telah diterima oleh server, server kemudian

mengeksekusi perintah yang diberikan, atau log ke dalam mesin dan

memberikan pengguna shell yang normal pada mesin remote.
Semua komunikasi dengan perintah remote atau shell akan otomatis dienkripsi.


Jika terminal semu telah dialokasikan (sesi login normal), pengguna dapat menggunakan karakter escape dicatat di bawah.


Jika tidak ada pseudo-tty telah dialokasikan, sesi transparan dan dapat digunakan untuk andal mentransfer data biner.

Pada kebanyakan sistem, pengaturan karakter escape untuk "none" juga

akan membuat sesi transparan bahkan jika tty yang digunakan.



Sesi ini berakhir ketika perintah atau shell pada keluar mesin remote dan semua koneksi X11 dan TCP telah ditutup.

KARAKTER ESCAPE

Ketika-terminal semu telah diminta, ssh mendukung sejumlah fungsi melalui penggunaan karakter escape. Sebuah karakter tilde tunggal dapat dikirim sebagai ~ ~ atau dengan mengikuti tilde oleh karakter selain yang dijelaskan di bawah ini. Karakter escape harus selalu mengikuti baris baru harus ditafsirkan sebagai khusus. Karakter escape dapat diubah dalam file konfigurasi menggunakan konfigurasi direktif EscapeChar atau pada baris perintah oleh-e opsi.


Lolos yang didukung (dengan asumsi default ' ~ ') adalah:


~.

Putus.

~ ^ Z

Latar Belakang ssh.

~ #

Daftar diteruskan koneksi.

~ &

Latar Belakang ssh di logout ketika menunggu sesi koneksi / X11 diteruskan untuk mengakhiri.

~?

Menampilkan daftar karakter escape.

~ B

Kirim BREAK ke sistem remote (hanya berguna untuk protokol SSH versi 2 dan jika rekan mendukungnya).

~ C

Baris perintah Open. Saat ini memungkinkan penambahan pelabuhan forwardings menggunakan-L, R-and-D pilihan (lihat di atas). Hal ini juga memungkinkan pembatalan port-forwardings ada dengan-KL [bind_address:] port untuk lokal,-KR [bind_address:] port untuk jarak jauh dan-KD [bind_address:].! Port untuk port-forwardings dinamis perintah memungkinkan pengguna untuk mengeksekusi perintah lokal jika opsi PermitLocalCommand diaktifkan di ssh_config (5) . Bantuan dasar tersedia, menggunakan opsi-h.

~ R

Permintaan rekeying sambungan (hanya berguna untuk protokol SSH versi 2 dan jika rekan mendukungnya).

~ V

Mengurangi kelengkapan informasi (LogLevel) ketika kesalahan yang ditulis ke stderr.

~ V

Meningkatkan kelengkapan informasi (LogLevel) ketika kesalahan yang ditulis ke stderr.

TCP FORWARDING

Forwarding koneksi TCP sewenang-wenang atas saluran aman dapat ditentukan baik pada baris perintah atau dalam file konfigurasi. Salah satu aplikasi yang mungkin dari TCP forwarding adalah koneksi yang aman ke server mail; lain akan melalui firewall.

Dalam contoh di bawah ini, kita melihat mengenkripsi komunikasi antara

klien dan server IRC, meskipun server IRC tidak langsung mendukung

komunikasi terenkripsi.
Ini bekerja sebagai berikut: pengguna terhubung ke host remote menggunakan ssh, menentukan port yang akan digunakan untuk meneruskan koneksi ke server remote.

Setelah itu adalah mungkin untuk memulai layanan yang akan dienkripsi

pada komputer klien, menghubungkan ke port lokal yang sama, dan ssh akan mengenkripsi dan meneruskan koneksi.



Contoh berikut terowongan sesi IRC dari komputer klien "127.0.0.1" (localhost) ke remote server "server.example.com":


 $ Ssh-f-L 1234: localhost: 6667 server.example.com sleep 10 
$ Irc-c '# pengguna-p 1234 pinky 127.0.0.1


Ini terowongan koneksi ke server IRC "server.example.com", bergabung

dengan channel "# pengguna", julukan "pinky", menggunakan port 1234.

Tidak peduli pelabuhan yang digunakan, asalkan itu lebih besar dari 1023

(ingat , hanya root yang dapat membuka soket pada port istimewa) dan

tidak bertentangan dengan port sudah digunakan.
Sambungan diteruskan ke port 6667 pada server jauh, karena itulah port standar untuk layanan IRC.


Latar belakang opsi-f ssh

dan perintah remote "sleep 10" ditentukan untuk memungkinkan jumlah

waktu (10 detik, dalam contoh) untuk memulai layanan yang akan

terowongan.
Jika tidak ada koneksi yang dibuat dalam waktu yang ditentukan, ssh akan keluar.

X11 FORWARDING

Jika variabel ForwardX11 diatur ke "ya" (atau melihat deskripsi-X,-x, dan Y-pilihan di atas) dan pengguna menggunakan X11 (variabel lingkungan DISPLAY

diatur), koneksi ke layar X11 secara otomatis diteruskan ke sisi remote

sedemikian rupa bahwa setiap program X11 mulai dari shell (atau

perintah) akan melalui saluran terenkripsi, dan koneksi ke server

sebenarnya X akan dibuat dari mesin lokal.
Pengguna tidak harus secara manual mengatur DISPLAY. Forwarding koneksi X11 dapat dikonfigurasi pada baris perintah atau dalam file konfigurasi. Nilai DISPLAY ditetapkan oleh ssh akan mengarah ke mesin server, tetapi dengan sejumlah tampilan yang lebih besar dari nol. Ini adalah normal, dan terjadi karena ssh menciptakan "proxy" X server pada mesin server untuk meneruskan koneksi melalui saluran terenkripsi.


ssh juga akan otomatis mengatur Data Xauthority pada mesin server.

Untuk tujuan ini, maka akan menghasilkan otorisasi kue acak,

menyimpannya dalam Xauthority di server, dan memverifikasi bahwa koneksi

diteruskan membawa cookie ini dan menggantinya dengan cookie nyata

ketika koneksi dibuka.
Cookie otentikasi nyata tidak pernah dikirim ke mesin server (dan tidak ada cookie yang dikirim di dataran).


Jika variabel ForwardAgent diatur ke "ya" (atau melihat deskripsi-A dan-a pilihan di atas) dan pengguna menggunakan agen otentikasi, koneksi ke agen secara otomatis diteruskan ke sisi remote.

VERIFIKASI KEYS HOST



Ketika melakukan koneksi ke server untuk pertama kalinya, sidik jari

dari kunci publik server disajikan kepada pengguna (kecuali StrictHostKeyChecking opsi telah dinonaktifkan).
Sidik jari dapat ditentukan dengan menggunakan ssh-keygen (1) :


$ Ssh-keygen-l-f / etc / ssh / ssh_host_rsa_key
Jika sidik jari yang sudah diketahui, hal itu dapat dicocokkan dan kunci dapat diterima atau ditolak.

Karena kesulitan membandingkan kunci host hanya dengan melihat hex

string, ada juga dukungan untuk membandingkan kunci host visual,

menggunakan seni acak.
Dengan menetapkan opsi VisualHostKey

ke "ya", grafis ASCII kecil akan ditampilkan pada setiap login ke

server, tidak peduli apakah sesi itu sendiri adalah interaktif atau

tidak.


Dengan belajar pola server dikenal menghasilkan, pengguna dapat dengan

mudah mengetahui bahwa kunci host telah berubah ketika pola yang sama

sekali berbeda ditampilkan.


Karena pola-pola ini tidak jelas Namun, pola yang terlihat mirip dengan

pola diingat hanya memberikan kemungkinan yang baik bahwa tombol host

adalah sama, tidak dijamin bukti.





Untuk mendapatkan daftar sidik jari bersama dengan seni acak mereka

untuk semua host yang dikenal, baris perintah berikut dapat digunakan:



$ Ssh-keygen-lv-f ~ / .ssh / known_hosts
Jika sidik jari tidak diketahui, metode alternatif verifikasi tersedia: sidik jari SSH diverifikasi oleh DNS.

Sebuah catatan sumber daya tambahan (RR), SSHFP, ditambahkan ke

zonefile dan menghubungkan klien mampu mencocokkan sidik jari dengan

kunci disajikan.



Dalam contoh ini, kami menghubungkan klien ke server, "host.example.com". Catatan sumber daya SSHFP pertama harus ditambahkan ke zonefile untuk host.example.com:


 $ Ssh-keygen-r host.example.com. 
Garis Output harus ditambahkan ke zonefile tersebut. Untuk memeriksa bahwa zona ini menjawab pertanyaan sidik jari:


$ Menggali-t SSHFP host.example.com
Akhirnya menghubungkan klien:


 $ Ssh-o "VerifyHostKeyDNS bertanya" host.example.com 
[...]
Pencocokan tuan kunci sidik jari yang ditemukan di DNS.
Apakah Anda yakin ingin melanjutkan menghubungkan (ya / tidak)?
Lihat pilihan VerifyHostKeyDNS di ssh_config (5) untuk informasi lebih lanjut.

SSH BERBASIS JARINGAN VIRTUAL PRIVATE

ssh berisi dukungan untuk Virtual Private Network (VPN) tunneling menggunakan tun (4) jaringan pseudo-perangkat, yang memungkinkan dua jaringan yang akan bergabung dengan aman. The sshd_config (5) opsi konfigurasi PermitTunnel mengatur apakah server mendukung ini, dan pada tingkat apa (layer 2 atau 3 lalu lintas).

Contoh berikut ini akan menghubungkan jaringan klien 10.0.50.0/24

dengan remote jaringan 10.0.99.0/24 menggunakan koneksi point-to-point

dari 10.1.1.1 ke 10.1.1.2, asalkan server SSH berjalan pada pintu

gerbang ke jaringan remote , di 192.168.1.15, memungkinkan.



Pada klien:


 # Ssh-f-w 00:01 192.168.1.15 benar 
# Ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252
# Route add 10.0.99.0/24 10.1.1.2
Pada server:


 # Ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252 
# Route add 10.0.50.0/24 10.1.1.1
Akses klien dapat lebih peka melalui root / .ssh / / authorized_keys (lihat di bawah) dan pilihan server PermitRootLogin. Entri berikut akan mengizinkan koneksi pada tun (4) perangkat 1 dari pengguna "jane" dan tun device 2 dari user "john", jika PermitRootLogin diatur ke "dipaksa-perintah-only":


 tunnel = "1", perintah = "sh / etc / netstart tun1" ssh-rsa ... jane 
tunnel = "2", perintah = "sh / etc / netstart tun2" ssh-rsa ... john


Karena setup berbasis SSH memerlukan cukup banyak overhead, mungkin

lebih cocok untuk setup sementara, seperti untuk VPN nirkabel.
Lebih VPN permanen baik yang disediakan oleh alat seperti ipsecctl (8) dan isakmpd (8) .

LINGKUNGAN

ssh biasanya akan mengatur variabel lingkungan berikut:




DISPLAY

Variabel DISPLAY menunjukkan lokasi server X11. Hal ini secara otomatis ditetapkan oleh ssh
untuk menunjuk ke nilai bentuk "hostname: n", di mana "hostname"
menunjukkan host mana shell berjalan, dan 'n' adalah bilangan bulat ≥ 1 ssh menggunakan nilai khusus ini untuk meneruskan X11. koneksi melalui saluran aman.
Pengguna biasanya harus tidak diatur secara eksplisit DISPLAY,
karena itu akan membuat koneksi X11 tidak aman (dan akan meminta user
untuk secara manual menyalin cookie otorisasi yang diperlukan).

RUMAH

Diset ke path direktori home user.

LOGNAME

Sinonim untuk USER; ditetapkan untuk kompatibilitas dengan sistem yang menggunakan variabel ini.

MAIL

Set untuk jalan kotak pesan pengguna.

PATH

Set ke PATH default, sebagaimana ditentukan ketika kompilasi ssh.

SSH_ASKPASS

Jika ssh membutuhkan passphrase, itu akan membaca passphrase dari terminal saat ini jika itu dijalankan dari terminal. Jika ssh tidak memiliki terminal yang berhubungan dengan itu tetapi DISPLAY dan SSH_ASKPASS ditetapkan, itu akan mengeksekusi program yang telah ditentukan oleh SSH_ASKPASS dan membuka jendela X11 untuk membaca passphrase. Hal ini sangat berguna saat memanggil ssh dari xsession. Atau script yang terkait. (Perhatikan bahwa pada beberapa mesin mungkin perlu untuk mengarahkan masukan dari / dev / null untuk membuat karya ini.)

SSH_AUTH_SOCK

Mengidentifikasi jalur dari UNIX socket-domain yang digunakan untuk berkomunikasi dengan agen.

SSH_CONNECTION

Mengidentifikasi ujung klien dan server dari koneksi. Variabel berisi empat ruang terpisah nilai: alamat IP klien, klien nomor port, alamat IP server dan nomor port server.

SSH_ORIGINAL_COMMAND

Variabel ini berisi baris perintah asli jika perintah paksa dijalankan. Hal ini dapat digunakan untuk mengekstrak argumen asli.

SSH_TTY

Hal ini diatur ke nama tty (path ke perangkat) terkait dengan shell saat ini atau perintah. Jika sesi saat ini tidak memiliki tty, variabel ini tidak diatur.

TZ

Variabel ini diatur untuk menunjukkan zona waktu hadir jika itu diatur
ketika daemon dimulai (yaitu daemon melewati nilai pada koneksi baru).

PENGGUNA

Set untuk nama pengguna logging masuk
Selain itu, ssh membaca ~ / .ssh / lingkungan

, dan menambahkan baris format "varname = nilai" lingkungan jika file

ada dan pengguna yang diizinkan untuk mengubah lingkungan mereka. Untuk informasi lebih lanjut, lihat PermitUserEnvironment pilihan di sshd_config (5) .

FILES

~ /. Rhosts

File ini digunakan untuk otentikasi berbasis host (lihat di atas). Pada beberapa mesin file ini mungkin perlu dibaca dunia jika direktori home user adalah pada partisi NFS, karena sshd (8) membacanya sebagai root. Selain itu, file ini harus dimiliki oleh pengguna, dan tidak harus memiliki hak akses tulis untuk orang lain. Izin
yang direkomendasikan untuk sebagian besar mesin yang membaca / menulis
bagi pengguna, dan tidak dapat diakses oleh orang lain.

~ /. Shosts

File ini digunakan dengan cara yang persis sama seperti . rhosts , namun memungkinkan otentikasi berbasis host tanpa memungkinkan Login dengan rlogin / rsh.

~ /. Ssh /

Direktori ini adalah lokasi default untuk semua konfigurasi pengguna tertentu dan informasi otentikasi. Tidak
ada persyaratan umum untuk menjaga seluruh isi direktori rahasia ini,
namun izin yang direkomendasikan adalah membaca / menulis / mengeksekusi
bagi pengguna, dan tidak dapat diakses oleh orang lain.

~ / .ssh / Authorized_keys

Daftar kunci publik (DSA, ECDSA, ED25519, RSA) yang dapat digunakan untuk log in sebagai pengguna ini. Format file ini dijelaskan dalam sshd (8) halaman manual. File
ini tidak sangat sensitif, tetapi izin yang direkomendasikan adalah
membaca / menulis bagi pengguna, dan tidak dapat diakses oleh orang
lain.

~ / .ssh / Config

Ini adalah file konfigurasi per-user. Format file dan opsi konfigurasi yang dijelaskan dalam ssh_config (5) . Karena
potensi untuk penyalahgunaan, file ini harus memiliki izin yang ketat:
baca / tulis bagi pengguna, dan tidak dapat ditulis oleh orang lain.

~ / .ssh / Lingkungan

Berisi definisi tambahan untuk variabel lingkungan; lihat LINGKUNGAN , di atas.

~ / .ssh / Identity



~ / .ssh / Id_dsa



~ / .ssh / Id_ecdsa



~ / .ssh/id_ed25519



~ / .ssh / Id_rsa

Berisi kunci pribadi untuk otentikasi. File-file
ini berisi data sensitif dan harus dapat dibaca oleh pengguna tetapi
tidak dapat diakses oleh orang lain (baca / tulis / eksekusi). ssh hanya akan mengabaikan file kunci pribadi jika itu dapat diakses oleh orang lain. Hal
ini dimungkinkan untuk menentukan passphrase saat membuat kunci yang
akan digunakan untuk mengenkripsi bagian sensitif dari berkas ini dengan
3DES.

~ / .ssh / Identity.pub



~ / .ssh / Id_dsa.pub



~ / .ssh / Id_ecdsa.pub



~ / .ssh/id_ed25519.pub



~ / .ssh / Id_rsa.pub

Berisi kunci publik untuk otentikasi. File-file ini tidak sensitif dan dapat (tetapi tidak perlu) dapat dibaca oleh siapa saja.

~ / .ssh / Known_hosts

Berisi daftar kunci host untuk semua host pengguna telah login ke yang belum dalam daftar systemwide dari kunci host dikenal. Lihat sshd (8) untuk rincian lebih lanjut dari format file ini.

~ / .ssh / Rc

Perintah dalam file ini dijalankan oleh ssh ketika pengguna log in, tepat sebelum shell pengguna (atau perintah) dimulai. Lihat sshd (8) halaman manual untuk informasi lebih lanjut.

/ Etc / hosts.equiv

File ini adalah untuk otentikasi berbasis host (lihat di atas). Ini hanya harus dapat ditulis oleh root.

/ Etc / shosts.equiv

File ini digunakan dengan cara yang persis sama seperti hosts.equiv , tetapi memungkinkan otentikasi berbasis host tanpa memungkinkan Login dengan rlogin / rsh.

/ Etc / ssh / ssh_config

File konfigurasi systemwide. Format file dan opsi konfigurasi yang dijelaskan dalam ssh_config (5) .

/ Etc / ssh / ssh_host_key



/ Etc / ssh / ssh_host_dsa_key



/ Etc / ssh / ssh_host_ecdsa_key



/ Etc/ssh/ssh_host_ed25519_key



/ Etc / ssh / ssh_host_rsa_key

File-file ini berisi bagian-bagian pribadi dari kunci host dan digunakan untuk otentikasi berbasis host. Jika protokol versi 1 digunakan, ssh harus setuid root, karena tombol host dapat dibaca hanya oleh root. Untuk protokol versi 2, ssh menggunakan ssh-keysign (8) untuk mengakses kunci host, menghilangkan persyaratan bahwa ssh menjadi setuid root ketika otentikasi berbasis host digunakan. Secara default ssh tidak setuid root.

/ Etc / ssh / ssh_known_hosts

Daftar systemwide dari kunci host dikenal. File ini harus disiapkan oleh administrator sistem untuk berisi kunci publik tuan rumah dari semua mesin dalam organisasi. Ini harus dibaca dunia. Lihat sshd (8) untuk rincian lebih lanjut dari format file ini.

/ Etc / ssh / SSHRC

Perintah dalam file ini dijalankan oleh ssh ketika pengguna log in, tepat sebelum shell pengguna (atau perintah) dimulai. Lihat sshd (8) halaman manual untuk informasi lebih lanjut.

EXIT STATUS

ssh keluar dengan status keluar dari perintah jarak jauh atau dengan 255 jika terjadi kesalahan.

STANDAR

S. Lehtinen dan C. Lonvick , Secure Shell (SSH) Protokol Assigned Numbers , RFC 4250 , Januari 2006 . T. Ylonen dan C. Lonvick , Secure Shell (SSH) Arsitektur Protokol , RFC 4251 , Januari 2006 .


T. Ylonen dan C. Lonvick , Secure Shell (SSH) Authentication Protocol , RFC 4252 , Januari 2006 .


T. Ylonen dan C. Lonvick , Secure Shell (SSH) Transport Layer Protocol , RFC 4253 , Januari 2006 .


T. Ylonen dan C. Lonvick , Secure Shell (SSH) Connection Protocol , RFC 4254 , Januari 2006 .


J. Schlyter dan W. Griffin , Menggunakan DNS untuk Aman Publish Secure Shell (SSH) Key Sidik jari , RFC 4255 , Januari 2006 .


F. Cusack dan M. Forssen , Generik Message Exchange Authentication untuk Secure Shell Protocol (SSH) , RFC 4256 , Januari 2006 .


J. Galbraith dan P. ReMaker , Secure Shell (SSH) Sesi Saluran Istirahat Ekstensi , RFC 4335 , Januari 2006 .


M. Bellare , T. Kohno , dan C. Namprempre , Secure Shell (SSH) Mode Transport Layer Enkripsi , RFC 4344 , Januari 2006 .


B. Harris , Peningkatan Arcfour Mode untuk Secure Shell (SSH) Transport Layer Protocol , RFC 4345 , Januari 2006 .


M. Friedl , N. Provos , dan W. Simpson , Diffie-Hellman Grup Exchange untuk Secure Shell (SSH) Transport Layer Protocol , RFC 4419 , Maret 2006 .


J. Galbraith dan R. Thayer , Secure Shell (SSH) Public Key File Format , RFC 4716 , November 2006 .


D. Stebila dan J. Hijau , Elliptic Curve Algoritma Integrasi di Secure Shell Transport Layer , RFC 5656 , Desember 2009 .


A. Perrig dan D. Lagu , Hash Visualisasi: Teknik Baru untuk meningkatkan Keamanan Dunia Nyata , 1999 , International Workshop on Teknik kriptografi dan E-Commerce (CrypTEC '99) .

PENULIS

OpenSSH merupakan turunan dari asli dan gratis ssh 1.2.12 rilis oleh Tatu Ylonen. Aaron

Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt dan Song

Gali dihapus banyak bug, kembali ditambah-fitur baru dan menciptakan

OpenSSH. Markus Friedl kontribusi dukungan untuk protokol SSH versi 1.5 dan 2.0.


16 Juli 2014 OpenBSD-current

0 komentar:

Posting Komentar

silahkan komentar

Luncurkan toko Anda hanya dalam 4 detik dengan 
 
Top