Created
March 5, 2023 19:41
-
-
Save scsskid/601d451fc5ff7b49b3b0562f333437f2 to your computer and use it in GitHub Desktop.
Revisions
-
scsskid revised this gist
Mar 5, 2023 . 1 changed file with 45 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1 +1,45 @@ #!/bin/sh # This script generates a ssh key for a single repository # and adds a custom configuration to the users (not global) ssh config file, # and outputs the public key for you to copy and paste as the repo deploy key # and outputs the url for you to clone the repo on the machine. # Github docs ref: # https://docs.github.com/en/developers/overview/managing-deploy-keys#using-multiple-repositories-on-one-server # # 1. Add the script to the user account of the machine. The home directory is fine. # 2. Make the script executable by running the following command as the user: # chmod u+x generateDeployKey.sh # 3. Run script like `./generateDeployKey.sh REPO_OWNER_NAME REPO_NAME` Note the space between owner and repo name. Example: # ./generateDeployKey.sh yourname hello_world # If you make a mistake with what you pass in, you can remove change from your ~/.ssh/config file # by deleting the most recent "New Key Generated on...." and deleting the related .pub and private keys # Check if user passed in both parameters if [ -z "$1" ] || [ -z "$2" ] then echo "Make sure to pass in both parameters REPO_OWNER_NAME and REPO_NAME. Example:" echo "./generateDeployKey.sh yourname hello_world" else REPO_OWNER_NAME=$1 REPO_NAME=$2 KEY_PATH=~/.ssh/id_rsa.$REPO_NAME echo "Generating ssh key At ${KEY_PATH}" ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa.${REPO_NAME} echo "Your ssh deploy key is:" PUB_KEY_PATH=$KEY_PATH".pub" cat $PUB_KEY_PATH echo "" # Will create config if it does not exist echo "Updating ~/.ssh/config" DATE_TIME=$(date +"%Y-%m-%d at %r") echo " # New Key Generated on $DATE_TIME Host github.com-$REPO_NAME HostName github.com User git IdentityFile $KEY_PATH" >> ~/.ssh/config echo "" echo "Here is your hostname's alias to interact with the repository using SSH:" echo "git clone [email protected]$REPO_NAME:$REPO_OWNER_NAME/$REPO_NAME.git" fi -
scsskid created this gist
Mar 5, 2023 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1 @@