瀏覽代碼

Configure an onion address for ssh access

Bob Mottram 9 年之前
父節點
當前提交
56df44afc8
共有 49 個文件被更改,包括 36 次插入0 次删除
  1. 二進制
      locale/de/freedombone-addcert.mo
  2. 二進制
      locale/de/freedombone-addsipuser.mo
  3. 二進制
      locale/de/freedombone-adduser.mo
  4. 二進制
      locale/de/freedombone-clientcert.mo
  5. 二進制
      locale/de/freedombone-config.mo
  6. 二進制
      locale/de/freedombone-controlpanel.mo
  7. 二進制
      locale/de/freedombone-image.mo
  8. 二進制
      locale/de/freedombone-keydrive.mo
  9. 二進制
      locale/de/freedombone-meshweb.mo
  10. 二進制
      locale/de/freedombone-recoverkey.mo
  11. 二進制
      locale/de/freedombone-remote.mo
  12. 二進制
      locale/de/freedombone-renew-cert.mo
  13. 二進制
      locale/de/freedombone-rmsipuser.mo
  14. 二進制
      locale/de/freedombone-sec.mo
  15. 二進制
      locale/de/freedombone-splitkey.mo
  16. 二進制
      locale/de/freedombone.mo
  17. 二進制
      locale/es/freedombone-addcert.mo
  18. 二進制
      locale/es/freedombone-addsipuser.mo
  19. 二進制
      locale/es/freedombone-adduser.mo
  20. 二進制
      locale/es/freedombone-clientcert.mo
  21. 二進制
      locale/es/freedombone-config.mo
  22. 二進制
      locale/es/freedombone-controlpanel.mo
  23. 二進制
      locale/es/freedombone-image.mo
  24. 二進制
      locale/es/freedombone-keydrive.mo
  25. 二進制
      locale/es/freedombone-meshweb.mo
  26. 二進制
      locale/es/freedombone-recoverkey.mo
  27. 二進制
      locale/es/freedombone-remote.mo
  28. 二進制
      locale/es/freedombone-renew-cert.mo
  29. 二進制
      locale/es/freedombone-rmsipuser.mo
  30. 二進制
      locale/es/freedombone-sec.mo
  31. 二進制
      locale/es/freedombone-splitkey.mo
  32. 二進制
      locale/es/freedombone.mo
  33. 二進制
      locale/fr/freedombone-addcert.mo
  34. 二進制
      locale/fr/freedombone-addsipuser.mo
  35. 二進制
      locale/fr/freedombone-adduser.mo
  36. 二進制
      locale/fr/freedombone-clientcert.mo
  37. 二進制
      locale/fr/freedombone-config.mo
  38. 二進制
      locale/fr/freedombone-controlpanel.mo
  39. 二進制
      locale/fr/freedombone-image.mo
  40. 二進制
      locale/fr/freedombone-keydrive.mo
  41. 二進制
      locale/fr/freedombone-meshweb.mo
  42. 二進制
      locale/fr/freedombone-recoverkey.mo
  43. 二進制
      locale/fr/freedombone-remote.mo
  44. 二進制
      locale/fr/freedombone-renew-cert.mo
  45. 二進制
      locale/fr/freedombone-rmsipuser.mo
  46. 二進制
      locale/fr/freedombone-sec.mo
  47. 二進制
      locale/fr/freedombone-splitkey.mo
  48. 二進制
      locale/fr/freedombone.mo
  49. 36
    0
      src/freedombone

二進制
locale/de/freedombone-addcert.mo 查看文件


二進制
locale/de/freedombone-addsipuser.mo 查看文件


二進制
locale/de/freedombone-adduser.mo 查看文件


二進制
locale/de/freedombone-clientcert.mo 查看文件


二進制
locale/de/freedombone-config.mo 查看文件


二進制
locale/de/freedombone-controlpanel.mo 查看文件


二進制
locale/de/freedombone-image.mo 查看文件


二進制
locale/de/freedombone-keydrive.mo 查看文件


二進制
locale/de/freedombone-meshweb.mo 查看文件


二進制
locale/de/freedombone-recoverkey.mo 查看文件


二進制
locale/de/freedombone-remote.mo 查看文件


二進制
locale/de/freedombone-renew-cert.mo 查看文件


二進制
locale/de/freedombone-rmsipuser.mo 查看文件


二進制
locale/de/freedombone-sec.mo 查看文件


二進制
locale/de/freedombone-splitkey.mo 查看文件


二進制
locale/de/freedombone.mo 查看文件


二進制
locale/es/freedombone-addcert.mo 查看文件


二進制
locale/es/freedombone-addsipuser.mo 查看文件


二進制
locale/es/freedombone-adduser.mo 查看文件


二進制
locale/es/freedombone-clientcert.mo 查看文件


二進制
locale/es/freedombone-config.mo 查看文件


二進制
locale/es/freedombone-controlpanel.mo 查看文件


二進制
locale/es/freedombone-image.mo 查看文件


二進制
locale/es/freedombone-keydrive.mo 查看文件


二進制
locale/es/freedombone-meshweb.mo 查看文件


二進制
locale/es/freedombone-recoverkey.mo 查看文件


二進制
locale/es/freedombone-remote.mo 查看文件


二進制
locale/es/freedombone-renew-cert.mo 查看文件


二進制
locale/es/freedombone-rmsipuser.mo 查看文件


二進制
locale/es/freedombone-sec.mo 查看文件


二進制
locale/es/freedombone-splitkey.mo 查看文件


二進制
locale/es/freedombone.mo 查看文件


二進制
locale/fr/freedombone-addcert.mo 查看文件


二進制
locale/fr/freedombone-addsipuser.mo 查看文件


二進制
locale/fr/freedombone-adduser.mo 查看文件


二進制
locale/fr/freedombone-clientcert.mo 查看文件


二進制
locale/fr/freedombone-config.mo 查看文件


二進制
locale/fr/freedombone-controlpanel.mo 查看文件


二進制
locale/fr/freedombone-image.mo 查看文件


二進制
locale/fr/freedombone-keydrive.mo 查看文件


二進制
locale/fr/freedombone-meshweb.mo 查看文件


二進制
locale/fr/freedombone-recoverkey.mo 查看文件


二進制
locale/fr/freedombone-remote.mo 查看文件


二進制
locale/fr/freedombone-renew-cert.mo 查看文件


二進制
locale/fr/freedombone-rmsipuser.mo 查看文件


二進制
locale/fr/freedombone-sec.mo 查看文件


二進制
locale/fr/freedombone-splitkey.mo 查看文件


二進制
locale/fr/freedombone.mo 查看文件


+ 36
- 0
src/freedombone 查看文件

@@ -86,6 +86,7 @@ INSTALLING_FROM_CONFIGURATION_FILE="no"
86 86
 CONFIGURATION_FILE="${PROJECT_NAME}.cfg"
87 87
 
88 88
 SSH_PORT=2222
89
+SSH_ONION_PORT=8094
89 90
 IRC_PORT=6697
90 91
 
91 92
 # An optional password to log into IRC. This applies to all users
@@ -3680,6 +3681,40 @@ function configure_ssh {
3680 3681
     echo 'configure_ssh' >> $COMPLETION_FILE
3681 3682
 }
3682 3683
 
3684
+function configure_ssh_onion {
3685
+    if grep -Fxq "configure_ssh_onion" $COMPLETION_FILE; then
3686
+        return
3687
+    fi
3688
+    if [[ $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
3689
+        return
3690
+    fi
3691
+
3692
+    if [ ! -d /var/lib/tor ]; then
3693
+        echo $'No Tor installation found. ssh onion domain cannot be configured.'
3694
+        exit 32672
3695
+    fi
3696
+    if ! grep -q "hidden_service_ssh" /etc/tor/torrc; then
3697
+        echo 'HiddenServiceDir /var/lib/tor/hidden_service_ssh/' >> /etc/tor/torrc
3698
+        echo "HiddenServicePort ${SSH_PORT} 127.0.0.1:${SSH_ONION_PORT}" >> /etc/tor/torrc
3699
+        echo $'Added onion domain for ssh'
3700
+    fi
3701
+
3702
+    systemctl restart tor
3703
+
3704
+    if [ ! -f /var/lib/tor/hidden_service_ssh/hostname ]; then
3705
+        echo $'ssh onion domain hostname not found'
3706
+        exit 62983
3707
+    fi
3708
+    SSH_ONION_HOSTNAME=$(cat /var/lib/tor/hidden_service_ssh/hostname)
3709
+    if ! grep -q "ssh onion domain" $COMPLETION_FILE; then
3710
+        echo "ssh onion domain:${SSH_ONION_HOSTNAME}" >> $COMPLETION_FILE
3711
+    else
3712
+        sed -i "s|ssh onion domain.*|ssh onion domain:${SSH_ONION_HOSTNAME}|g" $COMPLETION_FILE
3713
+    fi
3714
+
3715
+    echo 'configure_ssh_onion' >> $COMPLETION_FILE
3716
+}
3717
+
3683 3718
 # see https://stribika.github.io/2015/01/04/secure-secure-shell.html
3684 3719
 function ssh_remove_small_moduli {
3685 3720
     awk '$5 > 2000' /etc/ssh/moduli > ~/moduli
@@ -9712,6 +9747,7 @@ time_synchronisation
9712 9747
 configure_internet_protocol
9713 9748
 create_git_project
9714 9749
 configure_ssh
9750
+configure_ssh_onion
9715 9751
 remove_instructions_from_motd
9716 9752
 check_hwrng
9717 9753
 search_for_attached_usb_drive