Я пытаюсь создать сценарий оболочки, который позволяет мне автоматически подключаться к моему экземпляру 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





cd "C:\Operations\sys_admin"
ssh -i "mykeypair.pem" ec2-user@[IP].[location].compute.amazonaws.com
sudo su
cd /var/files
Я пробовал это, но он просто зависает на "[ec2-user @ [location] ~] $".
ssh -t -i "mykeypair.pem" ec2-user@[IP].[location].compute.amazonaws.com "sudo su; cd /var/files; bash"
Как насчет записи этой команды в ~/.bashrc пользователя ec2? Вам нужно будет добавить 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
это, безусловно, один из вариантов, но я бы предпочел не изменять разрешения для пользователя ec2, чтобы каждый раз при входе в систему я находился в этом каталоге.
хорошо, хорошо, теперь я в качестве root использовал команду about. Единственная проблема в том, что он не приводит меня к направлению / var / files /, поэтому кажется, что команда «cd / var / files /» не передается. Есть идеи, как это следует изменить? Благодарность!
Я изменил ответ. Это помогает?
Stack Overflow - это сайт для вопросов по программированию и разработке. Этот вопрос кажется не по теме, потому что он не о программировании или разработке. См. О каких темах я могу спросить здесь в Справочном центре. Возможно, лучше спросить Обмен стеками веб-приложений, Обмен стеками для веб-мастеров или Обмен стеков Unix и Linux.