O pseudo-terminal não será alocado porque stdin não é um terminal

Estou tentando escrever um script de shell que cria alguns diretórios em um servidor remoto e depois usa o scp para copiar arquivos da minha máquina local para o controle remoto. Aqui está o que eu tenho até agora:

ssh -t user@server<<EOT
DEP_ROOT='/home/matthewr/releases'
datestamp=$(date +%Y%m%d%H%M%S)
REL_DIR=$DEP_ROOT"/"$datestamp
if [ ! -d "$DEP_ROOT" ]; then
    echo "creating the root directory"
    mkdir $DEP_ROOT
fi
mkdir $REL_DIR
exit
EOT

scp ./dir1 user@server:$REL_DIR
scp ./dir2 user@server:$REL_DIR

Sempre que o executo, recebo esta mensagem:

Pseudo-terminal will not be allocated because stdin is not a terminal.

E o script trava para sempre.

Minha chave pública é confiável no servidor e posso executar todos os comandos fora do script. Alguma ideia

questionAnswers(10)

yourAnswerToTheQuestion