title: Pseudo-terminal will not be allocated because stdin is not a terminal
body: <p>I am trying to write a shell script that creates some directories on a remote server and then uses scp to copy files from my local machine onto the remote. Here's what I have so far:</p>
  
  <pre><code>ssh -t user@server&lt;&lt;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
  </code></pre>
  
  <p>Whenever I run it I get this message:</p>
  
  <pre><code>Pseudo-terminal will not be allocated because stdin is not a terminal.
  </code></pre>
  
  <p>And the script just hangs forever.</p>
  
  <p>My public key is trusted on the server and I can run all the commands outside of the script just fine. Any ideas?</p>