     fn.replace /\//, "_"
     fp = basepath + "/" + fn
 
+    if fs.existsSync("#{fp}.pub")
+      return msg.send {room: msg.message.user.name}, "Key exists!  Destroy it, then try this again?"
+
     exec "ssh-keygen -f #{fp} -b 1024 -C hubot-tf -N ''", (error, stdout, stderr) ->
       #msg.send {room: msg.message.user.name}, "```\n#{stdout}\n```"
       pubkey = fs.readFileSync("#{fp}.pub", 'utf-8').toString()
-      msg.send {room: msg.message.user.name}, "Public key: \n```\n#{pubkey}\n```"
+      msg.send {room: msg.message.user.name}, "```\n#{pubkey}\n```"
 
   robot.respond /tf show key$/i, (msg) ->
     fn = msg.message.user.name

    fp = basepath + "/" + fn

    if ! fs.existsSync("#{fp}.pub")
      return msg.send {room: msg.message.user.name}, "No key on file!  Create one."

    pubkey = fs.readFileSync("#{fp}.pub", 'utf-8').toString()
    return msg.send {room: msg.message.user.name}, "Public key: \n```\n#{pubkey}\n```"

  robot.respond /tf destroy key$/i, (msg) ->
    fn = msg.message.user.name

    fp = basepath + "/" + fn

    if ! fs.existsSync("#{fp}.pub")
      return msg.send {room: msg.message.user.name}, "No key on file!  Create one first, eh?"

    fs.unlinkSync("#{fp}")
    fs.unlinkSync("#{fp}.pub")
