diff --git a/ssh/tunnel.go b/ssh/tunnel.go
index f5f363f7faa30d71911eb95d09098659a2705994..6f2e02e4c2c01f02cad9bcfffcb442946f185cc7 100644
--- a/ssh/tunnel.go
+++ b/ssh/tunnel.go
@@ -4,6 +4,7 @@ import (
 	"io"
 	"log"
 	"net"
+	"os"
 
 	"golang.org/x/crypto/ssh"
 )
@@ -44,14 +45,14 @@ func (tunnel *SSHTunnel) Start() error {
 func (tunnel *SSHTunnel) forward(localConn net.Conn) {
 	serverConn, err := ssh.Dial("tcp", tunnel.Server.String(), tunnel.Config)
 	if err != nil {
-		tunnel.logf("server dial error: %s", err)
-		return
+		tunnel.logf("server dial %s error: %s", tunnel.Server, err)
+		os.Exit(-1)
 	}
 	tunnel.logf("connected to %s (1 of 2)\n", tunnel.Server.String())
 	remoteConn, err := serverConn.Dial("tcp", tunnel.Remote.String())
 	if err != nil {
-		tunnel.logf("remote dial error: %s", err)
-		return
+		tunnel.logf("remote dial %s error: %s", tunnel.Remote, err)
+		os.Exit(-1)
 	}
 	tunnel.logf("connected to %s (2 of 2)\n", tunnel.Remote.String())
 	copyConn := func(writer, reader net.Conn) {