diff --git a/.gitignore b/.gitignore
index 671aff97a9468e38921c985ab6923ae76fd8799d..6cf7dd0bcfbd00d5236a1398bc6a1055b918ab62 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@ build
 
 .idea
 .vscode
+nemu/*.txt
diff --git a/setup.sh b/setup.sh
index 2f72f4cb385e14d6588dcb56719ccfe8626e4cb9..92c3ffc3b0d70496d18d2053277d0de49c9b0fdc 100644
--- a/setup.sh
+++ b/setup.sh
@@ -10,10 +10,15 @@ function env_set() {
 
 [ -z ${STUID} ]   && echo "STUID must be set (RTFM)"   && exit
 [ -z ${STUNAME} ] && echo "STUNAME must be set (RTFM)" && exit
-echo "uploading public key..."
-echo curl -F "id=${STUID}" -F "name=${STUNAME}" -F "file=@${HOME}/.ssh/RecolicPC.pub" "https://$hust_submit_server_host/teach/api/uploads/pasetup"
-curl -F "id=${STUID}" -F "name=${STUNAME}" -F "file=@${HOME}/.ssh/RecolicPC.pub" "https://$hust_submit_server_host/teach/api/uploads/pasetup"
-sleep 2
+
+[ -z "$pubkey" ] && pubkey="${HOME}/.ssh/id_rsa.pub"
+[ ! -f "$pubkey" ] && echo "Public key file $pubkey doesnt exist." && exit 2
+
+echo "uploading public key $pubkey..."
+echo curl -F "id=${STUID}" -F "name=${STUNAME}" -F "file=@$pubkey" "https://$hust_submit_server_host/teach/api/uploads/pasetup"
+curl -F "id=${STUID}" -F "name=${STUNAME}" -F "file=@$pubkey" "https://$hust_submit_server_host/teach/api/uploads/pasetup" -vv
+sleep 5
+
 echo "setup git-remote..."
 git remote add hustpa "pa@$hust_submit_server_host:${STUID}-git"
 git branch pa0