Apakah ada cara untuk menyusun perintah tunggal untuk login melalui SSH ke server jarak jauh dan menjalankan program pada shell login jarak jauh?
Dalam manual OpenSSH, terbaca "Jika perintah ditentukan, itu dijalankan pada host jarak jauh, bukan shell login." Jadi, misalnya, ssh user@server mail
akan masuk ke server jarak jauh, menampilkan status kotak surat, dan kemudian mengembalikan Anda ke shell lokal. Apakah ada cara untuk tetap menggunakan shell jarak jauh setelah menampilkan status email?
Lebih jauh lagi, ssh user@server [command]
sepertinya tidak berfungsi jika perintahnya adalah program, misalnya vim atau mutt. Apakah ada cara untuk masuk ke shell jauh dan menjalankan program sambil tetap di shell jauh selama program dan setelah keluar dari program, hanya akhirnya keluar pada logout
perintah tertentu (seperti dalam sesi SSH normal)?
Saya akhirnya ingin dapat menempatkan perintah seperti itu sebagai alias di .bashrc lokal, sehingga bisa dijalankan dengan cepat ketika diinginkan. Contohnya adalah login melalui SSH ke server jarak jauh dan buka mutt pada server jarak jauh untuk membaca atau mengirim email.
ssh remote@server mail ; ssh remote@server
? Juga setiap perintah yang dijalankan dari jarak jauh yang membutuhkan terminal tidak akan bertahan / bekerja melebihi ssh kan?Jawaban:
Sudahkah Anda mencoba
ssh -t user@server "mail && bash"
(atau menggantibash
dengan shell apa pun yang Anda suka)?Ini
-t
diperlukan untuk membuat pseudo-tty agar bash dapat digunakan sebagai shell interaktif.sumber
mutt
di dalam atmux
atauscreen
, dan kemudian saya bisa memasang dan memasang kembali sesuka hati, ditambah lagi saya dapat menjalankan lebih banyak kerang yang saya inginkan.exit
bukanlogout
. Saya belum dapat mengujinya dengan mutt (atau serupa).-t
opsi tersebut menghasilkan masalah keamanan? Saya belum pernah menggunakan ini sebelumnya.&&
dengan;
?