Привет всем, я полностью новичок в Unix, и мне нужно написать «shell-скрипт» (?), Чтобы подключиться к другому терминалу и запустить несколько SQL-запросов. Как же я это делаю? Я просматривал несколько ответов от этого и других советов, и если бы нашел свой ответ, я этого не понимаю.Unix SSH без пароля
Я могу подключиться вручную, вводить пароль и т. Д., Но мне нужно автоматизировать процесс. У меня нет доступа к Perl (как было предложено несколькими ответами), и я не могу редактировать файл etc/shadow. Поэтому я предполагаю, что это нужно делать строго через Unix. Это то, что я использую в настоящее время:
X=`vUser='USER-NAME'
vPass='PASSWORD'
vTable='TABLENAME'
vHOST='HOST-NAME'
vPORT=4443
ssh [email protected]
expect {
"[email protected] password:"{
send -s "'vPass'\r"
}
}
SQL_Query='select * from vTable limit 10'
mysql -p$vPASS -D$vTable -u$vUser P$vPort<<EOF
$SQL_Query
EOF`
echo $X>Output.dat
Пожалуйста, объясните все ответы в полном объеме. Я пытаюсь выучить.
Возможно, вы просто хотите создать беспроблемную пару ключей SSH: http://linuxconfig.org/passwordless-ssh Будьте осторожны, однако, ваш скрипт, похоже, подключается к удаленному компьютеру с правами root. Вы действительно не должны этого делать, и вы ** особенно ** не должны делать это с помощью пароля без ключа. – Mike
Да. В этом случае вы не должны использовать пароли. Вы также можете найти способ создания SSH-ключа [здесь] (http://serverfault.com/questions/241588/how-to-automate-ssh-login-with-password) при принятом ответе. – Rik
Обычно считается хорошей практикой для отключения доступа root через ssh. – symcbean