Anda dapat menyalin sementara .bashrc Anda ke mesin jarak jauh Anda dengan nama lain. Misalnya menggunakan .bashrc_temp :
[email protected]$ scp .bashrc [email protected]:~/.bashrc_temp
Setelah itu Anda dapat masuk ke mesin jarak jauh:
[email protected]$ ssh [email protected]
dan source file .bashrc_temp :
[email protected]$ source ~/.bashrc_temp
Sekarang Anda dapat menggunakan .bashrc Anda dan fungsi Anda. Setelah selesai dengan pekerjaan Anda, Anda dapat menghapus file ~/.bashrc_temp di mesin jarak jauh dan keluar.
Penyalinan file dan login ke mesin jarak jauh dapat dilakukan dengan fungsi bash:
# copy the .bashrc to the remote machine
# and log into the remote machine.
# parameter $1: [email protected]
function s() {
scp ~/.bashrc $1:~/.bashrc_temp
ssh $1
}
Perbarui :
Anda juga dapat mempertimbangkan untuk menyalin .bashrc ke /tmp pada mesin jarak jauh Anda dan sumber /tmp/.bashrc_temp .
Perbarui 2 :
Anda dapat masuk ke mesin jarak jauh dengan menggunakan ssh -t. Ini secara otomatis akan menggunakan temp .bashrc Anda . Fungsi yang diperbarui s() :
function s() {
scp ~/.bashrc $1:/tmp/.bashrc_temp
ssh -t $1 "bash --rcfile /tmp/.bashrc_temp ; rm /tmp/.bashrc_temp"
}
jens-na memberikan jawaban yang sangat bagus. Saya menghabiskan sedikit waktu dan mengerjakannya kembali sedikit untuk bekerja sedikit lebih baik. Dengan cara ini, Anda dapat meneruskan parameter apa pun ke SSH, seperti nomor port. Perbedaannya adalah menggunakan ssh perintah untuk mengunggah .bashrc file, bukan scp , yang menggunakan nama parameter perintah yang berbeda.
Anda juga akan melihat bahwa file yang berbeda diunggah, .bashrc_remote , sehingga Anda dapat memilih dengan tepat apa yang ingin Anda jadikan sumber di server jarak jauh, alih-alih semuanya
sshs() {
ssh [email protected] "cat > /tmp/.bashrc_temp" < ~/.bashrc_remote
ssh -t [email protected] "bash --rcfile /tmp/.bashrc_temp ; rm /tmp/.bashrc_temp"
}
Jalankan sebagai berikut:
sshs [email protected]
Nama 'sshs ' adalah untuk "Sumber SSH". Gunakan ssh ketika Anda tidak ingin sumber, dan gunakan sshs ketika Anda melakukannya.
https://Gist.github.com/jonahbron/5549848
Saya pikir sshrc adalah yang Anda cari:https://github.com/Russell91/sshrc
sshrc berfungsi seperti ssh, tetapi juga sumber ~/.sshrc setelah masuk dari jarak jauh.
$ echo "echo welcome" > ~/.sshrc
$ sshrc [email protected]
welcome
$ echo "alias ..='cd ..'" > ~/.sshrc
$ sshrc [email protected]
$ type ..
.. is aliased to `cd ..'
Anda dapat menggunakan ini untuk mengatur variabel lingkungan, menentukan fungsi, dan menjalankan perintah pasca-login. Sesederhana itu, dan tidak akan memengaruhi pengguna lain di server - meskipun mereka juga menggunakan sshrc. Untuk konfigurasi lebih lanjut, lanjutkan membaca.