Esperar e enviar enviará um texto claro - mas sua conexão SSH fará a criptografia.
Mas, em vez de escrever um script (e armazenar sua senha nele), por que não tentar usar sua configuração SSH e autenticação baseada em chave privada / pública.
Primeiro, gere sua própria chave SSH privada e o stub público que a acompanha. Basta executar
ssh-keygen
E forneça uma senha (que pode ser diferente da senha da conta de usuário e você terá que fornecer toda vez que fizer login) ou não (nenhuma senha na chave, para que você nunca seja solicitado por uma) . Mesmo que você atribua uma senha ao seu par de chaves, um serviço de chaveiro local pode armazenar em cache a autenticação e desbloqueá-la automaticamente para você, depende do ambiente de área de trabalho que você está usando.
Copie o arquivo ~ / .ssh / id_rsa.pub para o remotehost: ~ / .ssh / authorized_keys
scp ~/.ssh/id_rsa.pub user@remotehost:~/
ssh user@remotehost
mkdir .ssh
cat id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
e faça logout. Então edite seu próprio ~ / .ssh / config e coloque uma entrada como
Host router
Hostname 192.168.1.1
User routerusername
Port 22
O nome dado na primeira linha Host não precisa ser um nome DNS, pode ser um apelido ou o que você quiser. O arquivo de configuração suporta todas as opções de linha de comando, como o encaminhamento do X, etc. Você pode até apontar para diferentes arquivos de identidade para hosts diferentes ....
Agora, basta fazer
ssh router
E você estará logado automaticamente.