Скрипт Bash для SSH на машину без запроса пароля и без использования ключей
Я понимаю, что этот вопрос задавался несколько раз, но я не мог найти подходящий ответ нигде в моем поиске.
Я работаю в среде разработки, где безопасность не является проблемой, и любой может просто угадать пароль, если подумать несколько секунд.
То, что я пытаюсь сделать, просто. Я создал функцию псевдонима в своем локальном файле .bashrc, и я хотел бы, чтобы эта функция автоматически входила в систему с паролем по умолчанию.
Моя текущая реализация выглядит примерно так:
function s () {
ssh [email protected].$1
}
Когда я запускаю его, я получаю что-то вроде этого:
~]s 122
ssh [email protected]
[email protected]'s password:
Используя Bash, а не используя ключи RSA, я бы хотел, чтобы он использовал пароль по умолчанию »password'.I»
мы попробовали следующее, где IP и User уже были установлены.
Do=$(expect -c "
spawn ssh $User@${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]}
expect \"yes/no\"
send \"yes\r\"
expect \"assword\" send \"password\"")
echo $Do
$Do
Это дает следующую ошибку:
Connecting and logging into server using expect
usage: send [args] string
while executing
"send"
invoked from within
"expect "assword" send "password""
[email protected]'s password:
bash: spawn: command not found...
Используя следующую команду, я могу подключить машину. Если я удаляю интерактив, он просто запускает команду uptime и закрывает соединение. С помощью команды взаимодействовать я не могу увидеть, что я печатаю или на самом деле взаимодействую с машиной. Есть идеи?
Do=$(expect -c "spawn ssh $User@${IP[0]}.${IP[1]}.${IP[2]}.${IP[3]}; set timeout 4; expect \"assword\"; send \"password\n\"; expect \"test\"; send \"uptime\n\"; interact;");echo $Do;