Skenario:
- Di meja saya dengan laptop terhubung ke ethernet dan terhubung ke server jauh melalui SSH
- Ingin pindah ke sisi lain kantor dengan laptop dan ganti ke WiFi tanpa mengganggu koneksi SSH
Saya sudah mencoba: menghubungkan ke WiFi terlebih dahulu kemudian melepaskan ethernet; dan juga memutuskan koneksi ethernet terlebih dahulu kemudian menghubungkan ke WiFi. Tidak ada pendekatan yang berhasil. Juga mencoba ketika menggunakan server Ubuntu dan OS X bersama dengan kedua opsi OS juga untuk klien. Tidak berhasil
Sepertinya saya perlu beberapa cara untuk memberitahu koneksi SSH saya bahwa itu harus mulai menggunakan antarmuka jaringan yang baru terhubung, bukan antarmuka lama yang terputus. Ada ide?
Saya menyadari bahwa saya bisa tetap menggunakan WiFi sepanjang hari, tetapi saya tidak ingin melakukan itu. Saya juga menyadari bahwa saya hanya dapat bekerja dari dalam sesi layar pada server jarak jauh dan kemudian menyambung kembali ke sesi layar setelah mengubah antarmuka, tetapi saya juga tidak ingin melakukan itu. Sebagai contoh, saya mungkin mem-piping beberapa perintah besar seperti dump database SSH atau saya mungkin memiliki file yang terbuka melalui SSHFS, atau saya mungkin hanya ingin menghindari gangguan menghubungkan kembali
Jawaban:
Saya menduga bahwa solusi ini tidak akan berfungsi untuk SSHFS, dll, tetapi Anda bisa melihat Mosh yang menyediakan dukungan roaming untuk setidaknya shell itu sendiri.
sumber
Saya khawatir Anda tidak dapat melakukan ini, menurut definisi. Sesi SSH berjalan melalui koneksi TCP, yang ditentukan oleh empat-tupel (alamat sumber, port sumber, alamat tujuan, port tujuan). Anda tidak dapat menggeser koneksi yang ada ke alamat yang berbeda pada klien (selain dari kenyataan bahwa OS akan meruntuhkan koneksi ketika antarmuka turun).
NAT mungkin memperumit gambaran ini, tetapi tidak dengan cara apa pun yang akan membantu Anda.
sumber
Utas lama, saya tahu, tetapi demi kelengkapan karena saya mencari hal yang sama ...
Di Windows 7 atau yang lebih baru, Anda cukup memilih adaptor wifi dan adaptor Ethernet dan memilih "Bridge Connection". Ini akan memberi Anda satu alamat IP untuk keduanya, dan sekarang Anda dapat memutuskan dan menyambungkan kembali Ethernet sesuka hati (diberikan jangkauan wifi terus menerus).
sumber
Saya mengelola ini dengan dua cara:
Mulai sesi dari server terminal di pusat data Anda (RDP / Windows / dll)
ATAU
Instal layar GNU atau tmux dan mulai setelah login.
Saya lebih suka
tmux
karenascreen
sekolahnya lumayan tua, tetapi jika Anda hanya diperbolehkan menginstal paket yang didukung,screen
ada di repo RHEL.ATAU
Lakukan keduanya.
sumber
tmux
sangat berguna. Menjalankan hal-hal yang jauh di dalamtmux
adalah kebiasaan yang sangat baik untuk masuk.Itu tidak bisa dilakukan dengan mudah.
Saya dapat mengarahkan Anda ke sejumlah aplikasi yang sangat mahal yang memungkinkan Anda untuk menjaga sesi telnet atau SSH ketika berpindah di antara IP atau AP, atau bahkan untuk periode terputusnya periode jaringan yang lama, tetapi mereka pada dasarnya mencapainya dengan membuat server yang selalu terbuka sesi-sisi untuk mesin klien sehingga server tidak tahu koneksi berbeda atau jatuh.
Saya kira Anda bisa membuat kode seperti itu, tetapi saya membayangkan bahwa jika itu mudah dilakukan, klien saya tidak akan diperkosa dengan biaya 5 digit untuk menjaga koneksi terminal tetap terbuka pada pemindai genggam nirkabel.
Meskipun, saya tersandung di layar, yang mengklaim untuk membuat sesi SSH gigih , yang mungkin benar-benar berfungsi ... mencobanya.
sumber
Masalahnya mungkin bahwa alamat IP sumber Anda berubah ketika Anda beralih antara kabel dan wifi. Ini akan mencegah sesi ssh kembali.
Saya menangani ini di linux dengan menghubungkan melalui vpn dan memastikan bahwa koneksi vpn selalu memberikan ip yang sama ke akun Anda (tidak sulit untuk menegakkan, tetapi kemungkinan besar bahwa Anda akan menerima ip yang sama melalui vpn secara default pula jika itu tersedia, tetapi lebih baik menegakkannya untuk memastikan). Saya kebanyakan menggunakan vtun, tetapi openvpn juga ok. Pastikan koneksi Anda melewati vpn (perutean yang benar, prefix yang didorong, ...)
Saya sudah bisa offline dari kabel bahkan selama 5 menit dan kemudian terhubung ke wifi dan masih bisa tetap terhubung ke semua sesi ssh saya. Ping yang sedang berlangsung, mtr, htop, ... terus saja ketika vpn dipulihkan seolah-olah tidak ada yang terjadi.
sumber
Cobalah menjadi wifi saja saat pertama kali memulai sesi ssh. Kemudian colokkan ethernet Anda. Itu akan memungkinkan koneksi baru untuk beralih ke ethernet, tetapi koneksi yang dibuat akan tetap ada di wifi. Setidaknya saya pernah melihatnya bekerja seperti ini dengan OSX, jadi OS / perangkat keras dapat bervariasi.
sumber
Saya cukup yakin Anda dapat melakukan ini dengan sejumlah konyol peretasan w / VMs dan Tunneling.
Ini belum diuji, tetapi beri tahu saya jika memang berhasil.
ssh -L 10022:remote.server.example.com:22
ssh 192.168.56.3 -p 10022
beri tahu saya jika berhasil.
sumber