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.