Koneksi ke salah satu server saya menggunakan ssh membutuhkan waktu lebih dari 20 detik untuk memulai.
Ini tidak terkait dengan kondisi LAN atau WAN, karena koneksi ke dirinya sendiri memerlukan hal yang sama (ssh localhost). Setelah koneksi akhirnya didirikan, sangat cepat untuk berinteraksi dengan server.
Menggunakan -vvv menunjukkan bahwa koneksi macet setelah mengucapkan "pledge: network". Pada titik ini, otentikasi (menggunakan kunci di sini) sudah dilakukan, seperti terlihat di sini:
...
debug1: Authentication succeeded (publickey).
Authenticated to myserver.mydomain.com ([xx.xx.xx.xx]:22).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
(... terjebak di sini selama 15 hingga 25 detik ...)
debug1: client_input_global_request: rtype [email protected] want_reply 0
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug2: client_session2_setup: id 0
...
Server adalah Ubuntu 16.04. Itu sudah terjadi pada saya di masa lalu dengan server lain (adalah Ubuntu 12,04), nerver menemukan solusi dan masalahnya menghilang setelah beberapa saat ...
sshd_config adalah default yang disediakan oleh Ubuntu.
Sejauh ini saya sudah mencoba:
- menggunakan -o GSSAPIAuthentication = no pada perintah ssh
- menggunakan kata sandi alih-alih kunci
- menggunakan UsePrivilegeSeparation no bukan yes, di sshd_config
systemctl restart systemd-logind
memperbaiki masalah hanya untuk jangka waktu singkat bagi saya.pam_systemd(sshd:session): Failed to create session: Connection timed out
seperti yang disebutkan dalam jawaban, ini mungkin github.com/systemd/systemd/issues/2925Jawaban:
Ini mungkin masalah dengan
D-Bus
dansystemd
. Jikadbus
layanan di-restart karena beberapa alasan, Anda juga harus memulai kembalisystemd-logind
.Anda dapat memeriksa apakah ini masalahnya dengan membuka ssh daemon log (seharusnya di Ubuntu
/var/log/auth.log
) dan memeriksa apakah ada baris berikut:Jika ya, cukup restart
systemd-logind
layanan:Saya memiliki masalah yang sama pada CentOS 7 ini, karena
messagebus
sudah dimulai ulang (begitulah caraD-Bus
layanan dipanggil pada CentOS).sumber
polkit
layanan menggunakansystemctl restart polkit
.menemukan jawabannya:
mengubah UsePAM dari yes menjadi no di file sshd_config
Setelah memulai kembali layanan ssh, koneksi sekarang langsung ke server. Di server ini, PAM ditautkan ke ldap, jadi mungkin itulah alasannya, bahkan jika di sini saya terhubung dengan pengguna yang dideklarasikan di server itu sendiri, bukan yang LDAP.
Nah, ini lebih merupakan cara untuk mem-bypass masalah, bukan solusi ... Saya punya server lain yang mengatur cara yang sama yang tidak mengalami masalah ini.
Semoga ini bisa membantu seseorang ...
sumber
Ini terjadi pada dua dari server Fedora 25 saya, dan disebabkan oleh banyak upaya login SSH yang gagal.
(Saran umum untuk menggunakan
GSSAPIAuthentication=no
danUseDNS=no
, atau memulai kembalisystemd-logind
, tidak membuat perbedaan.)Di server ini,
/etc/pam.d/postlogin
mengandung:Halaman manual untuk
pam_lastlog
menjelaskan bahwashowfailed
opsi akan:Pada server ini,
/var/log/btmp
file-file itu sangat besar karena banyak upaya login gagal. Filebtmp
log juga tidak diputar.Saya menginstal
logrotate
paket untuk memastikan file log akan diputar di masa depan. (Pada Fedora, konfigurasi yang dikirimkan denganlogrotate
menangani rotasi/var/log/btmp
.)Saya juga menghapus
btmp
file-file log yang sangat besar ; segera setelah saya melakukan ini, menyambungkan ke server seketika lagi.sumber
sudo truncate -s 0 /var/log/btmp
- Ukuran tambang saya 2.7G.Dalam kasus saya alasannya adalah rsyslogd macet. Saya menemukan ini karena tidak ada lagi log-pesan di eg / var / log / syslog atau /var/log/mail.log
Jadi,
service rsyslog restart
selesaikan masalah bagi kami.sumber
Bagi saya masalah ini disebabkan oleh
btmp
file besar (ratusan MB) . File ini mencatat upaya login. Ketika orang-orang mencoba memaksakan kata sandi Anda, file ini dapat menjadi besar dan menyebabkan keterlambatan"pledge: network"
fase.Coba hapus file log
echo "" > /var/log/btmp
dan lihat apakah itu membantu.
sumber
:> /var/log/btmp
melakukan btw yang sama.Bagi saya solusinya adalah menambahkan
ke
/etc/ssh/sshd_config
dan kemudian tentu sajaservice ssh restart
(di server Debian / Jessie kami). Tidak ada lagi...sebelum :
setelah :
sumber
UseDNS no
adalah solusi untuk masalah yang sama sekali berbeda.sign_and_send_pubkey
, yang lebih lama setelahpledge: network
. Menambahkan hanyaUseDNS no
dengan berikutnyaservice ssh restart
tidak menyelesaikan masalah pada instalasi Ubuntu 14.04.5 LTS lama di sini.Saya perhatikan baris berikut dalam umpan balik debug saya:
Yang merupakan file yang dimiliki
root:root
saat sayajenkins
. Menghapus file ini menyelesaikan masalah saya.sumber