Cukup sederhana, saya tahu bahwa ini pernah terjadi pada saya sebelumnya. Tidak dapat menemukan jawaban yang baik pada AU.
Saya menjalankan sesi ssh dengan port terikat:
ssh -L 3000:<server_name>:22
Saya baru saja kehilangan koneksi saya. Ketika saya mencoba menghubungkan kembali menggunakan perintah yang sama, saya mendapatkan kesalahan berikut:
bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 3000
Bagaimana cara mereset ssh pada mesin saya untuk memungkinkan port terikat lagi? Menyetel ulang mesin lokal berfungsi.
networking
ssh
port-forwarding
kbuilds
sumber
sumber
lsof -ti:5901
akan mengembalikan nomor proses, yang kemudian Anda berikan kekill -9
sudo
jika prosesnya tidak muncullsof
kill -9
kecuali program ini benar - benar tidak responsif. Membunuh suatu proses dengan sinyal # 9 (SIGKILL) segera menghentikannya tanpa memberi kesempatan pada proses untuk membersihkan buffer, menutup filehandle dan soket, menghapus file sementara, dll., Yang semuanya dapat dilakukan prosesnya jika Anda menggunakankill
(default ke SIGTERM) , diikuti olehkill -1
(SIGHUP; hangup) dankill -2
(SIGINT; apa yang dikirimkan Ctrl + C) jika itu tidak berhasil, dan akhirnyakill -9
jika tidak ada yang berfungsi .Saya kira Anda masih memiliki sesuatu yang terhubung ke port 3000 lokal.
Anda dapat menemukannya dengan
dan kemudian membuangnya. Misalnya di mesin saya:
mengidentifikasi proses menunggu dan terhubung dengan benar pada port 5900 (vnc server).
Perintah lain yang bermanfaat adalah
... semuanya mungkin perlu dijalankan
sudo
jika Anda tidak memiliki proses yang membuka porta.sumber
killall ssh
dan membuatnya mati. Kira bukan itu masalahnyasudo
- itulah yang saya lewatkan.Saya dapat membuat ulang dan memperbaikinya dengan melakukan hal berikut:
ps -ae
)sh
(kill <proc_number>
)Kemudian buka kembali koneksi ssh
Atau, saya telah sukses dengan:
Di terminal pada mesin lokal
sumber
satu lagi pesaing:
ss
dapat digunakan seperti ini:
ss -ltp | grep 3000
untuk menemukan program mendengarkan pada port 3000sumber