Kegagalan otentikasi VNC

8

Saya mencoba untuk terhubung ke vncserver saya yang berjalan di CentOs dari komputer di rumah, di belakang firewall. Saya telah menginstal Win7 dan Ubuntu di mesin ini. Saya memiliki kesalahan:

Conenction VNC gagal: vncserver terlalu banyak kegagalan keamanan

bahkan ketika masuk dengan kredensial kanan (saya mereset passwd pada CentOs) saya mendapatkan: kegagalan otentikasi.

Saya mengamati bahwa saya harus menunggu sepanjang hari untuk bisa masuk kembali.

Apakah ini sesuatu yang saya coba sebagai root? Saya pikir penting juga bahwa saya harus masuk ke Centos jarak jauh melalui port 6050 - tidak ada port lain yang berfungsi untuk saya. Apakah saya harus melakukan sesuatu dengan port lain? Saya melihat bahwa vncserver mendengarkan pada 5901, 5902 jika ditambahkan - dan saya menganggap koneksi dibuat karena dari waktu ke waktu (lama) prompt passwd muncul, ... kan?

Saya telah membuat user1 tambahan, kata sandi untuknya ke CentOS dan ke VNC, juga user2. Saya lakukan:

vncserver layanan mulai

dan dua server dimulai, satu: 1, dan kedua pada: 2. Ketika saya mencoba untuk terhubung ke vncserverIP: 1 Saya mendapatkan apa yang dijelaskan di atas, tetapi ketika saya mencoba terhubung ke vncserverIP: 2 dikatakan bahwa percobaan itu tidak berhasil.

tolong bantu, apa yang harus dilakukan?

tambahan: bagaimana cara menonaktifkan penguncian ini untuk tujuan pengujian?

4pie0
sumber

Jawaban:

12

VNC menggunakan sistem kata sandi terpisah. Itu tidak memeriksa kata sandi terhadap / etc / passwd melainkan terhadap ~ / .vnc / passwd, yang berisi kata sandi primer tunggal dan secara opsional kata sandi sekunder yang memungkinkan hanya melihat layar.

Untuk mengatur kata sandi VNC Anda, gunakan perintah vncpasswd . Panjang kata sandi VNC harus antara lima dan delapan karakter - karakter di luar kedelapan diabaikan secara diam-diam. Jadi, jika Anda menggunakan VNC melalui Internet, pilih kata sandi acak yang kuat , karena penyerang dapat menggunakan botnet yang memiliki banyak alamat IP untuk menghindari penguncian saat meretas kata sandi Anda.

Jika Anda harus menggunakan VNC melalui Internet, jalankan di nomor port yang dipilih secara acak (bukan 5900) untuk menghindari deteksi dalam pemindaian port yang hanya mencakup port umum. Lebih disukai, terowongan koneksi VNC Anda melalui SSH untuk melindungi diri Anda dari serangan menguping dan man-in-the-middle. Jika Anda melakukan ini, Anda harus mengatur vncserver untuk tidak menerima koneksi dari Internet, menonaktifkan otentikasi hanya kata sandi pada layanan SSH dan menggunakan otentikasi kunci publik untuk melindungi terhadap upaya pemecahan kata sandi brute force memaksa umum.

Memulai ulang vncserver harus mengatur ulang penguncian. Halaman manual tidak menyebutkan cara untuk menonaktifkan lockout (sudah tidak memadai?) Sepenuhnya.

PleaseStand
sumber
terima kasih, seperti yang saya katakan saya telah membuat pengguna dan mengatur mereka kata sandi baik pada terminal (passwd) dan VNC (vncpasswd) sehingga kata sandi sudah ditetapkan. tapi saya sudah memilih kata sandi 9 huruf. Anda mengatakan bahwa VNC mengabaikan kemudian huruf terakhir, tetapi apakah penampil VNC mengabaikannya juga ketika saya memasukkan kata sandi panjang 9 huruf saat masuk? restart oleh: service vncserver restart tidak menghapus lockout: masih mengalami kegagalan otentikasi tanpa opsi untuk login. jadi, haruskah saya mencoba masuk (jika diizinkan lagi) menggunakan kata sandi terpotong (hanya mengambil 8 huruf pertama) atau apakah saya harus mengaturnya lagi?
4pie0
pertanyaan lain: bagaimana cara login sebagai root? apa itu mungkin? saat login Anda hanya ditanya tentang IP dan kata sandi, jadi bagaimana cara login sebagai root untuk melihat sesi root?
4pie0
@ cf16: Jawaban sederhana (untuk "cara masuk sebagai root?") adalah menjalankan vncserver sebagai root. Jika Anda ingin masuk ke beberapa akun pengguna yang berbeda tanpa harus menggunakan su atau sudo, Anda perlu menyiapkan manajer tampilan X seperti LightDM.
PleaseStand
Saya mulai sebagai root, jadi ini memberitahu saya bahwa server untuk user1 dan user2 telah dibuat. permintaan kata sandi hanya muncul ketika mencoba IP: 1, ketika mencoba terhubung ke IP: 2 itu tidak terhubung sama sekali.
4pie0
@ cf16: Coba IP: 0. Ini harus terhubung ke port 5900.
PleaseStand
0

Saya memiliki masalah penguncian VNC ini. Saya menyelesaikannya dengan menginstal firewall gufw .

H2ONaCl
sumber
1
Bisakah Anda memberi tahu saya lebih lanjut tentang pengaturan firewall ini? Terima kasih.
zeflex
Saya juga membutuhkan solusi untuk penguncian VNC ini
pencipta
Cukup instal gufw dan tambahkan entri untuk port mana saja yang ingin Anda gunakan. Misalnya untuk SSH, tambahkan entri untuk port 22.
H2ONaCl
0

Menambahkan ke jawaban yang sudah diberikan:

Anda tidak menyebutkan ini secara eksplisit di pos Anda, tetapi uraian masalah Anda menyiratkan bahwa Anda telah diblokir setelah terlalu banyak upaya login yang gagal. Saya mengalami masalah ini baru-baru ini ketika seorang rekan kerja tidak dapat login setelah mencoba kata sandi yang salah terlalu sering. Saya menemukan posting ini di SOLVEOPTIMIZED yang menjelaskan bagaimana menyelesaikannya.

Anda harus menetapkan aturan firewall Anda untuk mengizinkan koneksi masuk di port yang VNC server gunakan. Server VNC menggunakan port 5900 + N di mana N berarti setiap instance baru. Jadi misalkan server VNC Anda berjalan di port 5901, Anda harus mengizinkan koneksi masuk ke port ini dalam pengaturan firewall Anda. Anda dapat menemukan nomor port untuk semua instance

$ vncserver -l

Setelah mengubah aturan firewall Anda, Anda hanya harus menunggu batas waktu server berakhir dan Anda dapat masuk lagi.

Atau, jika Anda tidak ingin menunggu atau jika Anda tidak ingin mengacaukan pengaturan firewall Anda, Anda dapat memulai kembali server VNC dengan mematikan semua contohnya. Itu berbeda dari memulai kembali layanan seperti yang Anda lakukan. Anda melakukan restart keras dengan terlebih dahulu mengambil PID VNC

$ pgrep vnc

dan kemudian membunuh semua instance dengan

$ kill pid

Pastikan untuk benar-benar membunuh semua instance jika pgrep mengembalikan beberapa PID.

jono3030
sumber