.bashrc
を一時的にコピーできます 別の名前でリモートマシンに。たとえば、 .bashrc_temp
を使用します :
[email protected]$ scp .bashrc [email protected]:~/.bashrc_temp
その後、リモート マシンにログインできます:
[email protected]$ ssh [email protected]
と source
ファイル .bashrc_temp
:
[email protected]$ source ~/.bashrc_temp
.bashrc
を使用できるようになりました そしてあなたの機能。作業が終了したら、リモート マシンの ~/.bashrc_temp ファイルを削除してログアウトできます。
ファイルのコピーとリモート マシンへのログインは、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
}
更新 :
.bashrc
をコピーすることも検討してください。 /tmp
まで リモート マシンとソース /tmp/.bashrc_temp
で .
アップデート 2 :
ssh -t を使用して、リモート マシンにログインできます。これにより、一時的な .bashrc
が自動的に使用されます .更新された関数 s()
:
function s() {
scp ~/.bashrc $1:/tmp/.bashrc_temp
ssh -t $1 "bash --rcfile /tmp/.bashrc_temp ; rm /tmp/.bashrc_temp"
}
jens-na は優れた回答を提供しました。私は少し時間をかけて、少しうまく機能するように少しやり直しました.このようにして、ポート番号などの任意のパラメーターを SSH に渡すことができます。違いは、ssh
を使用することです。 .bashrc
をアップロードするコマンド scp
の代わりにファイル 、異なるコマンド パラメータ名を使用します。
また、別のファイル .bashrc_remote
をアップロードしていることにも気付くでしょう。 、すべてではなく、リモートサーバーでソースしたいものを正確に選択できるようにします
sshs() {
ssh [email protected] "cat > /tmp/.bashrc_temp" < ~/.bashrc_remote
ssh -t [email protected] "bash --rcfile /tmp/.bashrc_temp ; rm /tmp/.bashrc_temp"
}
次のように実行します:
sshs [email protected]
名前 'sshs
' は「SSH ソース」用です。 ssh
を使用 ソースを使用したくない場合は、sshs
を使用します。
https://gist.github.com/jonahbron/5549848
探しているのは sshrc だと思います:https://github.com/Russell91/sshrc
<ブロック引用>sshrc は ssh と同じように機能しますが、リモートでログインした後に ~/.sshrc もソースします。
$ echo "echo welcome" > ~/.sshrc
$ sshrc [email protected]
welcome
$ echo "alias ..='cd ..'" > ~/.sshrc
$ sshrc [email protected]
$ type ..
.. is aliased to `cd ..'
これを使用して、環境変数を設定し、関数を定義し、ログイン後のコマンドを実行できます。それはとても簡単で、サーバー上の他のユーザーに影響を与えることはありません - たとえ彼らが sshrc を使っていたとしても。より高度な構成については、読み続けてください。