我正在尝试创建一个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
答案 0 :(得分:0)
如何将这些命令写入ec2-user的~/.bashrc
?您需要将sudo su
和cd /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"