Saya bertanya-tanya apakah ada cara untuk mengubah direktori default yang saya masukkan setelah saya SSH ke server Ubuntu saya.
99% dari waktu ketika saya masuk ke server saya, itu adalah untuk mengakses file dalam direktori tertentu:
/var/www/websites
Apakah ada file konfigurasi yang dapat saya edit yang akan memastikan saya dimasukkan langsung ke direktori ini ketika saya login?
.profile
bukan.bashrc
, tetapi itu tergantung pada kasus penggunaan Anda..profile
dieksekusi hanya untuk login interaktif (mis. shell) tetapi.bashrc
juga dieksekusi untuk login non-aktif (mis. scp, rsync, dll.). Juga, profil. Lebih cenderung dipanggil oleh shell yang tidak bash (misalnya zsh).Jika Anda menggunakan kunci untuk masuk SSH maka Anda dapat mengubah jalur dengan menambahkan
command=
sebelum kunci di server jauh~/.ssh/authorized_keys
Anda . Contoh:Tidak apa-apa untuk membuat dan menggunakan beberapa kunci untuk pengguna yang sama. Satu kunci di server mungkin berisi perintah yang lain mungkin tidak - dengan cara ini Anda memilih perilaku yang diharapkan pada waktu masuk. Anda cukup membungkusnya dengan lokal
~/.ssh/config
:Inilah yang akan terjadi:
atau:
sumber
$SSH_ORIGINAL_COMMAND
alih-alih/bin/bash -l
mendapatkan alat untuk bekerja (dalam kasus saya, hg). Atau$SHELL
jika Anda tidak ingin hardcode menjadi bash. Tidak yakin bagaimana cara mendapatkan alat dan login manusia untuk keduanya berfungsi.Openssh sshd secara default menerima variabel lingkungan ini dari klien:
Anda dapat menggunakannya untuk mengirim nilai dari lingkungan lokal klien ke server seperti ini:
Anda dapat menempatkan direktif SendEnv di ~ / .ssh / config sehingga Anda tidak harus memasukkannya pada baris perintah.
Jika Anda menempatkan yang berikut ini di profil ~ /. (Hanya untuk memengaruhi login interaktif, gunakan. Profil, untuk memengaruhi semua login, gunakan .bashrc):
Maka secara otomatis akan mengubah direktori ke yang ditentukan dalam variabel lingkungan ketika Anda login, jika ditentukan dan jika itu adalah direktori.
sumber
LC_*
trik