通过ssh脚本sudo

时间:2018-05-20 10:27:55

标签: linux bash amazon-ec2 ssh sudo

我正在尝试创建一个shell脚本,允许我从本地计算机自动远程访问我的AWS EC2实例。我还希望这个脚本以'root'用户和名为'/ var / files'的目录登录。目前,该脚本允许我连接到我的EC2实例,但不能作为“root”用户或我想要的目录。

我的问题是,如何在远程处理后将“sudo su”和“cd / var / files”传递给命令行?这是我到目前为止,但它没有将$ USER和$ PATH变量传递给命令行。

cd "C:\Operations\sys_admin"
ssh -i "mykeypair.pem" ec2-user@[IP].[location].compute.amazonaws.com 
USER='sudo su'
PATH='cd /var/files'
echo $USER
echo $PATH

3 个答案:

答案 0 :(得分:0)

如何将这些命令写入ec2-user的~/.bashrc?您需要将sudo sucd /var/files添加为两行。这当然意味着,你登录到服务器的次,你将改为root并cd进目录......

否则您可以通过以下方式使用ssh -t

ssh -i "mykeypair.pem" -t ec2-user@[IP].[location].compute.amazonaws.com 'sudo su -c "cd /var/files; bash -l"'

基本上,@ blake-percy指出了-l选项

答案 1 :(得分:-1)

cd "C:\Operations\sys_admin"
ssh -i "mykeypair.pem" ec2-user@[IP].[location].compute.amazonaws.com 
sudo su
cd /var/files

答案 2 :(得分:-1)

ssh -t -i "mykeypair.pem" ec2-user@[IP].[location].compute.amazonaws.com "sudo su; cd /var/files; bash"