* Factor out hardcoded testnet ssh key path * Build/create test net ssh key path * Rename testnet ssh dir * Give testnetSSHDir a more generic name * shellcheck * favor hardcoded paths over `paths.sh` * Put instance-startup-complete stamp in the scratch dir as well * Rename `/solana` > `/solana-scratch`
		
			
				
	
	
		
			33 lines
		
	
	
		
			760 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			760 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
set -ex
 | 
						|
 | 
						|
[[ $(uname) = Linux ]] || exit 1
 | 
						|
[[ $USER = root ]] || exit 1
 | 
						|
 | 
						|
if grep -q solana /etc/passwd ; then
 | 
						|
  echo "User solana already exists"
 | 
						|
else
 | 
						|
  adduser solana --gecos "" --disabled-password --quiet
 | 
						|
  adduser solana sudo
 | 
						|
  adduser solana adm
 | 
						|
  echo "solana ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
 | 
						|
  id solana
 | 
						|
 | 
						|
  [[ -r /solana-scratch/id_ecdsa ]] || exit 1
 | 
						|
  [[ -r /solana-scratch/id_ecdsa.pub ]] || exit 1
 | 
						|
 | 
						|
  sudo -u solana bash -c "
 | 
						|
    mkdir -p /home/solana/.ssh/
 | 
						|
    cd /home/solana/.ssh/
 | 
						|
    cp /solana-scratch/id_ecdsa.pub authorized_keys
 | 
						|
    umask 377
 | 
						|
    cp /solana-scratch/id_ecdsa id_ecdsa
 | 
						|
    echo \"
 | 
						|
      Host *
 | 
						|
      BatchMode yes
 | 
						|
      IdentityFile ~/.ssh/id_ecdsa
 | 
						|
      StrictHostKeyChecking no
 | 
						|
    \" > config
 | 
						|
  "
 | 
						|
fi
 |