我想在一行中执行以下操作(这样我就可以在我的 中为它起别名.bashrc
)
0. before doing anything I am user1 on server0
1. ssh to server1
2. impersonate user2 (**THIS HAS TO BE DONE BY `sudo -u user2 sudosh`**)
3. ssh from server1 to server2
4. cd dirOnServer2
所以我的提示是在之后
user@server0:/dirOnServer0) superSshCommand
user2@server2:/dirOnServer2)
这可能吗 ?
答案1
其中大部分可以通过单个命令来实现,因此可以放入别名中:
ssh -t server1 sudo -u user2 ssh server2
但是,更改目录比较困难。如果您可以保证user2
始终位于您的目标目录中,您可以将其放入cd dirOnServer2
您的.profile
(或.bash_profile
) 中,如下所示:
cd dirOnServer2
请注意,只有在有来源的情况下才会发生目录更改.profile
,并且这只发生在交互式 shell 中。