Скрипт sudo через ssh - PullRequest
0 голосов
/ 20 мая 2018

Я пытаюсь создать сценарий оболочки, который позволяет автоматически удаленно подключаться к экземпляру 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 голосов
/ 20 мая 2018
ssh -t -i "mykeypair.pem" ec2-user@[IP].[location].compute.amazonaws.com "sudo su; cd /var/files; bash"
0 голосов
/ 20 мая 2018

Как насчет записи этих команд в ~/.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

0 голосов
/ 20 мая 2018
cd "C:\Operations\sys_admin"
ssh -i "mykeypair.pem" ec2-user@[IP].[location].compute.amazonaws.com 
sudo su
cd /var/files
...