Saya mencari cara untuk secara otomatis mendefinisikan beberapa alias di dalam sesi saya di server mana pun yang saya ssh. Saya tidak bisa meletakkannya di .bashrc
file di server karena akun pengguna yang saya masuki dibagikan oleh orang lain dan selain itu ada lusinan di antaranya dan memelihara skrip di setiap mesin akan terasa menyakitkan. Saya tahu saya bisa menggunakan expect
untuk mengetik alias secara otomatis tetapi saya hanya ingin tahu apakah OpenSSH memiliki sesuatu yang built-in yang bisa digunakan untuk mencapai ini?
14
Anda bisa memasukkan konfigurasi Anda
.bashrc
dan hanya membiarkan mereka mengeksekusi ketika Anda masuk. Untuk memungkinkan ini Anda bisa melewati variabel lingkungan melalui ssh..bashrc
modifikasisshd_config
modifikasi:.ssh/config
modifikasi (sisi klien):.bashrc
modifikasi (sisi klien):(belum diuji, tetapi harus dilakukan)
sumber
Dari halaman manual ssh (1) , jika Anda membuat file ~ / .ssh / rc , itu akan dieksekusi SEBELUM shell login pengguna dieksekusi, sehingga memberikan kesempatan untuk melakukan tugas-tugas 'pra-setup' sebelum masuk. Contoh yang diberikan adalah untuk me-mount share jaringan sebelum masuk.
Jika Anda tidak ingin menggunakan file ~ / .ssh / rc secara individual , Anda dapat melakukan hal yang sama dengan / etc / ssh / sshrc . Tes cepat untuk memeriksa nama pengguna khusus Anda atau beberapa metode pengidentifikasian dapat membatasi orang lain untuk tidak memerhatikan hal ini.
/ etc / ssh / sshrc HANYA bersumber jika ~ / .ssh / rc tidak ada, sehingga Anda dapat secara efektif mencapai dua lapisan kompleksitas.
sumber
Alias didefinisikan dan ditafsirkan oleh shell.
Sayangnya tidak ada cara untuk
ssh
meneruskannya ke shell jarak jauh.Anda bisa menulis
ssh
pembungkus di sisi klien yang mengatur lingkungan yang bagus di sisi yang jauh, tetapi tidak akan cantik.sumber
Jika memungkinkan, saya akan menyimpan skrip kecil yang menginisialisasi / mendefinisikan semua yang Anda inginkan pada server yang dapat diakses dari mana saja dan menjalankannya setelah login di setiap server.
sumber
Salah satu solusi yang mungkin adalah menempatkan skrip Anda yang mengatur semuanya pada server web yang dapat diakses oleh semua server lain.
Maka setiap server hanya perlu skrip kecil untuk melakukan sesuatu seperti:
Dengan begitu Anda hanya perlu memperbaruinya di satu tempat.
sumber
Lihatlah .ssh / config
Berikut ini adalah contoh https://lookherefirst.wordpress.com/2007/12/17/a-simple-ssh-config-file/
sumber