Bagaimana cara mempercepat masuk SSH?

23

Dari luar rumah saya, setiap kali saya login ke server Ubuntu saya menggunakan SSH, dibutuhkan sekitar 6 detik bagi saya untuk mendapatkan prompt untuk kata sandi, namun ketika saya login ke server hosting web saya dibutuhkan sekitar 1 detik. Apa yang bisa saya lakukan untuk mempercepat ini?

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.1"
$ ssh -v
OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
$ cat /proc/cpuinfo
model name      : Dual-Core AMD Opteron(tm) Processor 1210
cpu MHz         : 1000.000
cache size      : 1024 KB
$ cat /proc/meminfo
MemTotal:      2074528 kB
grokus
sumber

Jawaban:

38

Alasan nomor satu yang saya lihat untuk ini adalah opsi konfigurasi di SSHD UseDNSopsi ini (diaktifkan secara default) menyebabkan server melakukan resolusi DNS pada permintaan yang masuk. Operasi yang memakan waktu. Saya telah melihat login masuk dari satu menit plus menunggu prompt kata sandi di bawah beberapa detik. Jika Anda mengedit /etc/ssh/sshd_configdi server dan menambahkan (jika tidak ada) di bagian bawah UseDNS nokemudian restart daemon SSH dengan service ssh restartAnda akan melihat peningkatan saat berikutnya Anda terhubung.

Marco Ceppi
sumber
6
Lebih baik memperbaiki konfigurasi DNS Anda.
Thorbjørn Ravn Andersen
Ini berhasil hebat !! Terima kasih! Waktu masuk dari 20-30 detik menjadi kurang dari 5 detik :)
AntonioCS
3
Apa manfaat dari UseDNSmengaktifkan?
ændrük
Waspadalah! ketika Anda mengatur arahan UserDNSsetelah Matcharahan Anda akan mendapatkan kesalahan: is not allowed within a Matchblokir jika Anda me-restart sshd Anda tidak akan dapat ssh ke server Anda. Saya melakukan kesalahan ini dan saya terkunci dari server saya. Ingatlah selalu jangan menambahkan arahan di bagian bawah sshd_configjika Anda memiliki Matcharahan di dalamnya.
Adriano Rosa
6

Bagi saya, alasan nomor 2 (setelah opsi UseDNS sisi-server) untuk login sesi SSH yang lama adalah upaya sisi klien untuk terhubung menggunakan IPv6 (yang, jelas, tidak diatur dengan benar di jaringan saya - atau hampir semua jaringan lain, untuk masalah itu).

Lihat HOWTO: Mempercepat login SSH di forum Ubuntu.

"Solusi" adalah hanya mengaktifkan IPv4:

1) baik untuk permohonan klien SSH yang diberikan:

ssh -4 login@hostname

2) atau secara global dalam konfigurasi klien ssh di /etc/ssh/ssh_config:

Host *
   AddressFamily inet

Tentu saja, akan lebih tepat untuk mengatur IPv6 di jaringan Anda dengan benar, tetapi siapa yang punya waktu untuk itu :)

Aleksander Adamowski
sumber
3

Coba tambahkan opsi berikutnya dengan perintah ssh Anda:

-o "PreferredAuthentications=password"

(ini mencegah ssh dari negosiasi metode otentikasi lainnya, dan mempercepat promtp kata sandi!)

perseo22
sumber
2
Mengapa menggunakan kata sandi? Kenapa tidak kunci?
TJ Ellis
1
Mudah: karena Anda mungkin tidak diizinkan menggunakan kunci! (sshd tidak dikonfigurasi untuk menggunakannya, izin file pengguna buruk, etc.9
perseo22
2

Selain itu, ketikkan ini pada mesin jarak jauh (sebagai pengguna yang akan Anda masuki) untuk menekan pesan MOTD:

touch ~/.hushlogin

Tidak membuat banyak perbedaan dengan mematikan UseDNStetapi mungkin membantu pada koneksi yang lebih lambat.

Oli
sumber
1
-1: MOTD hanya ditampilkan setelah login berhasil. Ini tidak akan menyebabkan kata sandi muncul lebih cepat.
Asa Ayers
2
Benar, tapi tetap saja komentar yang bermanfaat.
sebastian_k
2

Karena Anda menggunakan versi Ubuntu yang agak lama, mungkin saja ini adalah bug: https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/300151

Restart dbus ( /etc/init.d/dbus restart) mungkin membantu.

Marcel Stimberg
sumber
Saya memiliki kotak 10,04 yang ditingkatkan dari 9,04 dan 9,10. Restart dbus berkurang time ssh remoteServer datedari 8s menjadi 0,5s.
djeikyb