File manager - Edit - /usr/local/CyberCP/CPScripts/EasyEngine/key.sh
Back
#!/bin/bash # script to set up access key for non-interactive SSH login check_root() { if [[ $(id -u) != 0 ]] > /dev/null; then echo -e "\nYou must use root permission...\n" exit fi } key_generation() { rm -f /root/.ssh/cyberpanel_migration_key rm -f /root/.ssh/cyberpanel_migration_key.pub ssh-keygen -t rsa -N "" -f /root/.ssh/cyberpanel_migration_key if [[ -f /root/.ssh/authorized_keys ]] ; then cp /root/.ssh/authorized_keys /root/.ssh/authorized_keys_migration string=$(head -c 3 /root/.ssh/authorized_keys) if [[ $string != "ssh" ]] ; then #check if it's like AWS that prohibits direct root login. rm -f /root/.ssh/authorized_keys cat /root/.ssh/cyberpanel_migration_key.pub > /root/.ssh/authorized_keys else cat /root/.ssh/cyberpanel_migration_key.pub >> /root/.ssh/authorized_keys fi else cat /root/.ssh/cyberpanel_migration_key.pub > /root/.ssh/authorized_keys chmod 600 /root/.ssh/authorized_keys fi echo -e "\nsuccessfully set up public key and private key for migration..." # this function creates public key and private key } ssh_config() { rm -f /etc/ssh/sshd_config_migration cp /etc/ssh/sshd_config /etc/ssh/sshd_config_migration if grep -q "#PubkeyAuthentication yes" /etc/ssh/sshd_config ; then sed -i 's|#PubkeyAuthentication yes|PubkeyAuthentication yes|g' /etc/ssh/sshd_config fi systemctl restart sshd #this function will modify ssh configuration to allow public key login and root login } revert_change() { if [[ ! -f /etc/ssh/sshd_config_migration ]] ; then echo -e "You didn't enable it..." exit else rm -f /root/.ssh/authorized_keys rm -f /etc/ssh/sshd_config rm -f /root/.ssh/cyberpanel_migration_key rm -f /root/.ssh/cyberpanel_migration_key.pub cp /etc/ssh/sshd_config_migration /etc/ssh/sshd_config if [[ -f /root/.ssh/authorized_keys_migration ]] ; then cp /root/.ssh/authorized_keys_migration /root/.ssh/authorized_keys rm -f /root/.ssh/authorized_keys_migration fi systemctl restart sshd fi echo -e "\nsuccessfully removed public key and private key for migration..." #this function will revert the changes and restore backed up files. } check_root if [[ $1 == "enable" ]] ; then ssh_config key_generation elif [[ $1 == "disable" ]] ; then revert_change else echo -e "\nPlease use argument enable or disable" echo -e "\ne.g. ./key.sh enable\n" fi
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings