SSHを使用してサーバー上の対話型シェルにログインし、ログインした後、2つのコマンドを実行したいと思います。
これは機能します:ssh user1@server -t "cd /home/user2; bash --login"
次の作業はありません。
ssh user1@server -t "cd /home/user2; bash --login -c 'source /home/user2/.bashrc'"
ssh user1@server -t "cd /home/user2; bash --login -c source /home/user2/.bashrc"
ssh user1@server -t "cd /home/user2; bash --login source /home/user2/.bashrc"
ssh user1@server -t "cd /home/user2; bash --login; source /home/user2/.bashrc"
-vフラグを指定してsshを呼び出すと、sshセッションが終了する前に次のように表示されます。
debug1: Sending command: cd /home/user2; bash --login -c "source /home/user2/.bashrc"
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
私はこれが奇妙に見えるかもしれないことを知っています。user1でのみ実行できるソフトウェアを(合法的に)使用できるように、user1としてログインする必要がありますが、個人の.bashrcを実行して、個人の作業ディレクトリで作業したいと考えています。/home/user1/.bashrcを変更できません。私がやろうとしていることをするためのより良い方法はありますか?