diff options
| author | David T. Sadler <davidtsadler@googlemail.com> | 2020-06-09 17:18:32 +0100 |
|---|---|---|
| committer | David T. Sadler <davidtsadler@googlemail.com> | 2020-06-09 17:18:32 +0100 |
| commit | 0562e731ab8781343058bae40b7f21a0cbda7c97 (patch) | |
| tree | 3a291d30f213491e6113b1dbdf3badefc959d179 | |
| parent | e5a682fd78af274e0c9ade031e79c9d537a938df (diff) | |
Prompt for GitHub SSH keys
| -rw-r--r-- | gohan.sh | 31 |
1 files changed, 30 insertions, 1 deletions
@@ -61,7 +61,33 @@ add_user() { unset pass1 pass2 } -maininstall() { +get_github_ssh_keys() { + # Prompts user for private and public ssh keys for connecting to GitHub. + touch /tmp/emptyfile + dialog --title "SSH" --msgbox "You will be prompted to enter the private SSH key used to connect to GitHub" 10 60 + githubPrivateKey=$(dialog --editbox /tmp/emptyfile 60 60 3>&1 1>&2 2>&3 3>&1) || exit + dialog --title "SSH" --msgbox "You will know be prompted to enter the public SSH key used to connect to GitHub" 10 60 + githubPublicKey=$(dialog --editbox /tmp/emptyfile 10 60 3>&1 1>&2 2>&3 3>&1) + rm /tmp/emptyfile +} + +save_github_ssh_keys() { + [ ! -d "/home/$name/.ssh" ] && mkdir -p "/home/$name/.ssh/github.com" + echo "$githubPrivateKey" > "/home/$name/.ssh/github.com/id_rsa" + echo "$githubPublicKey" > "/home/$name/.ssh/github.com/id_rsa.pub" + cat << EOF > "/home/$name/.ssh/config" +Host github.com + IdentityFile /home/${name}/.ssh/github.com/id_rsa +EOF + chown -R "$name":"$name" "/home/$name/.ssh" + chmod 700 "/home/$name/.ssh" + chmod 644 "/home/$name/.ssh/config" + chmod 700 "/home/$name/.ssh/github.com" + chmod 600 "/home/$name/.ssh/github.com/id_rsa" + chmod 644 "/home/$name/.ssh/github.com/id_rsa.pub" +} + +maininstall() { dialog --title "GOHAN Installation" --infobox "Installing \`$1\` ($n of $total). $1 $2" 5 70 install_package "$1" } @@ -90,6 +116,9 @@ preinstall_msg || error "User exited." add_user || error "Error adding username and/or password." +get_github_ssh_keys || error "Error getting the GitHub SSH keys." +save_github_ssh_keys || error "Error saving the GitHub SSH keys." + install_packages clear |
