Unggah file di setiap mesin jarak jauh, misalnya ~/.my_custom_bashrc
, dengan bash
khusus Anda konfigurasi, (dalam hal ini PS1=...
) lalu luncurkan ssh
dengan:
ssh [email protected] -t "bash --rcfile ~/.my_custom_bashrc -i"
Anda dapat dengan mudah menggunakan bash
berfungsi sebagai pembungkus agar mudah dibaca.
Jika Anda hanya ingin mengirim PS1
variabel, dan tidak mengandung '
(kutipan tunggal), coba:
ssh targethost -t "PS1='$PS1'; exec bash"
.bashrc
lokal mungkin menimpa PS1
meskipun (terima kasih kepada Dennis Williamson karena telah menunjukkan hal ini).
Ada cara untuk mengirimkan variabel lingkungan melalui ssh, tetapi biasanya dinonaktifkan dalam konfigurasi server. Jika PermitUserEnvironment
direktif diaktifkan dalam konfigurasi server dan setiap pengguna memiliki pasangan kuncinya sendiri (ya, Anda mungkin tidak seberuntung itu), Anda dapat menambahkan environment="PS1=…"
ke baris di ~/.ssh/authorized_keys
sesuai dengan kunci Anda.
Jika Anda ingin menyimpan konfigurasi Anda sendiri di akun pengguna bersama, Anda dapat membuat direktori file konfigurasi Anda sendiri dan menyetel HOME
variabel lingkungan untuk menunjuk ke direktori itu.
ssh targethost mkdir mrstatic.home
scp .bashrc targethost:mrstatic.home/
Buat tautan simbolis di mrstatic.home
direktori menunjuk kembali ke entri yang sesuai di direktori induk ketika Anda ingin berbagi file dengan pengguna lain.
Kemudian, masuk dengan
ssh targethost -t 'HOME=~/mrstatic.home; exec bash'`
Jika Anda ingin memodifikasi .profile
jarak jauh (atau file inisialisasi lainnya), Anda mungkin dapat mengotomatiskan pengaturan Anda. Banyak situs mengizinkan LC_*
variabel lingkungan melalui (biasanya mereka digunakan untuk pengaturan lokal). Jika kedua syarat ini terpenuhi, Anda dapat menyetel variabel yang tidak benar-benar digunakan untuk lokal, katakanlah LC_USER
, di sisi klien, dan uji di server .profile
.
(Tentu saja akun bersama adalah ide yang buruk, tetapi saya sadar Anda mungkin tidak dalam posisi untuk mengubah situasi itu.)
ssh -t [email protected] "remote='$PS1' bash -i"
Kemudian, saat diminta:
PS1=$remote