Saya terhubung ke mesin linux (centos 6.4) menggunakan dempul. Kecuali dari fakta bahwa saya dapat mengatur dempul hanya menggunakan satu jenis protokol, bagaimana saya bisa menemukan versi koneksi ssh saat ini (SSH1 atau SSH2)?
Saya terhubung ke mesin linux (centos 6.4) menggunakan dempul. Kecuali dari fakta bahwa saya dapat mengatur dempul hanya menggunakan satu jenis protokol, bagaimana saya bisa menemukan versi koneksi ssh saat ini (SSH1 atau SSH2)?
Jawaban:
Saya tahu ini adalah pertanyaan lama, tetapi karena saya menemukan itu, saya tidak bisa menolak memposting cara alternatif.
Seperti yang disarankan cstamas, Anda dapat menggunakan ssh -v localhost
Anda cukup ssh ke self 127.0.0.1 Anda pada mode verbose, yang akan menampilkan pesan debug dari progres. Ya, melalui proses ini, Anda dapat melihat bagian atas komunikasi dan Anda bisa mendapatkan versi SSH yang sedang Anda jalankan.
Tetapi jika Anda membaca ssh man
halaman ini, Anda akan menemukan -V
opsi di ssh lebih berguna. Diambil halaman manual ssh :
-V Menampilkan nomor versi dan keluar.
-V Mode Verbose. Menyebabkan ssh untuk mencetak pesan debug tentang kemajuannya. Ini membantu dalam men-debug koneksi, otentikasi, dan masalah konfigurasi. Opsi -v ganda meningkatkan verbositas. Maksimal 3.
Jadi saya pikir akan lebih baik untuk hanya melakukan ssh -V
dan mendapatkan sesuatu yang mirip dengan:
> ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013
Semoga ini membantu.
Putty In Session, Logging, pilih tombol radio "Paket SSH dan data mentah". Pilih file log sebagai putty.log di lokasi pilihan Anda. Buat koneksi. Anda harus melihat:
Event Log: Server version: SSH-2.0-OpenSSH_5.3
Event Log: Using SSH protocol version 2
Lihat di bawah untuk detail tentang apa arti SSH-2.0.
Metode Lain Anda juga dapat mencoba menggunakan klien telnet tetapi arahkan ke port 22:
telnet test1 22
Ketika Anda terhubung, Anda akan melihat:
Mencoba 192.168.144.145 ... Terhubung ke test1. Karakter melarikan diri adalah '^]'. SSH-2.0-OpenSSH_5.3
Baris terakhir adalah yang harus dicari:
SSH-2.0-OpenSSH_5.3
Jika dikatakan SSH-2.0
maka itu bagus, server ssh yang Anda sambungkan hanya mendukung SSH Protocol Version 2. Tidak akan mendukung koneksi dari SSH V1 Protocol Clients.
Namun jika Anda melihat:
SSH-1.99-OpenSSH_5.3
Maka itu berarti bahwa server end masih mendukung SSL Protocol Version 1. Ada sesuatu seperti ini di sshd_config
file itu:
Protocol 1,2
Protokol 1 rentan dan tidak boleh digunakan.
Jadi untuk meluruskannya. Jika Anda melihat SSH-2 ketika Anda telnet ke port 22 dari server jauh maka Anda hanya dapat menggunakan ssh Protokol Versi 2 karena server tidak mendukung Protokol 1.
Sesuai jawaban cstamas di atas, flag -v akan menampilkan garis:
debug1: Remote protocol version 1.99, remote software version OpenSSH_5.3
atau:
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
Anda ingin melihat di version 2.0
sana.
Anda bisa mendapatkan ini dengan cukup cepat menggunakan netcat dari mesin lokal Anda, misalnya:
$ nc [IP_ADDRESS] 22
SSH-2.0-OpenSSH_5.3
Saya suka ini lebih baik:
$ echo ~ | nc localhost 22
SSH-1.99-OpenSSH_3.9p1
Protocol mismatch.
$
Manfaatnya di sini adalah dapat dilakukan secara terprogram karena koneksi tidak terbuka. Untuk Python, coba:
ssh_protocol = float(re.search(r"SSH-(\d.\d+)").group(1))
Satu-satunya metode yang saya ketahui mengharuskan seseorang memiliki hak yang cukup untuk melihat entri ssh log /var/log/auth.log
.
$ echo $SSH_CONNECTION
127.0.0.1 12375 127.0.0.1 22
Bidang pertama dan kedua dari SSH_CONNECTION
variabel menunjukkan IP sumber dan port sumber koneksi saya. Dengan grep
-ing untuk nilai-nilai di /var/log/auth.log
, saya dapat menemukan entri log dari ketika koneksi ssh saya dikonfirmasi.
$ sudo grep -F ' from 127.0.0.1 port 12375 ' /var/log/auth.log | grep ssh
Jun 26 16:29:52 morton sshd[20895]: Accepted keyboard-interactive/pam for jim from 127.0.0.1 port 12375 ssh2
Entri log ini memberi tahu saya bahwa koneksi saya saat ini menggunakan protokol ssh2. Tentu saja, jika sesi ssh telah dibuka selama beberapa hari, entri log mungkin ada di /var/log/auth.log.0
atau beberapa auth.log
file yang lebih lama .