test(ookphone): ssh setup for phone
This commit is contained in:
		
							parent
							
								
									8291537e44
								
							
						
					
					
						commit
						498bbbd36f
					
				
					 2 changed files with 16 additions and 37 deletions
				
			
		|  | @ -1,4 +1,4 @@ | |||
| { pkgs, ... }: | ||||
| { pkgs, config, ... }: | ||||
| 
 | ||||
| 
 | ||||
| { | ||||
|  | @ -26,7 +26,16 @@ | |||
|     openssh | ||||
|   ]; | ||||
|   programs = { | ||||
|     ssh.enable = true; | ||||
|     ssh = { | ||||
|       enable = true; | ||||
|       matchBlocks = { | ||||
|         "ooksdesk" = { | ||||
|           host = 192.168.1.201; | ||||
|           user = "ooks"; | ||||
|           identityFile = "~/.ssh/id_ed25519"; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|     git = { | ||||
|       enable = true; | ||||
|       package = pkgs.gitAndTools.gitFull; | ||||
|  |  | |||
|  | @ -1,37 +1,7 @@ | |||
| { pkgs, config, ... }: | ||||
| 
 | ||||
| let | ||||
|   sshdTmpDirectory = "${config.user.home}/sshd-tmp"; | ||||
|   sshdDirectory = "${config.user.home}/sshd"; | ||||
|   pathToPubKey = "..."; | ||||
|   port = 8022; | ||||
| in | ||||
| 
 | ||||
| { ... }: | ||||
| { | ||||
|   build.activation.sshd = '' | ||||
|     $DRY_RUN_CMD mkdir $VERBOSE_ARG --parents "${config.user.home}/.ssh" | ||||
|     $DRY_RUN_CMD cat ${pathToPubKey} > "${config.user.home}/.ssh/authorized_keys" | ||||
| 
 | ||||
|     if [[ ! -d "${sshdDirectory}" ]]; then | ||||
|       $DRY_RUN_CMD rm $VERBOSE_ARG --recursive --force "${sshdTmpDirectory}" | ||||
|       $DRY_RUN_CMD mkdir $VERBOSE_ARG --parents "${sshdTmpDirectory}" | ||||
| 
 | ||||
|       $VERBOSE_ECHO "Generating host keys..." | ||||
|       $DRY_RUN_CMD ${pkgs.openssh}/bin/ssh-keygen -t rsa -b 4096 -f "${sshdTmpDirectory}/ssh_host_rsa_key" -N "" | ||||
| 
 | ||||
|       $VERBOSE_ECHO "Writing sshd_config..." | ||||
|       $DRY_RUN_CMD echo -e "HostKey ${sshdDirectory}/ssh_host_rsa_key\nPort ${toString port}\n" > "${sshdTmpDirectory}/sshd_config" | ||||
| 
 | ||||
|       $DRY_RUN_CMD mv $VERBOSE_ARG "${sshdTmpDirectory}" "${sshdDirectory}" | ||||
|     fi | ||||
|   ''; | ||||
| 
 | ||||
|   environment.packages = [ | ||||
|     (pkgs.writeScriptBin "sshd-start" '' | ||||
|       #!${pkgs.runtimeShell} | ||||
| 
 | ||||
|       echo "Starting sshd in non-daemonized way on port ${toString port}" | ||||
|       ${pkgs.openssh}/bin/sshd -f "${sshdDirectory}/sshd_config" -D | ||||
|     '') | ||||
|   ]; | ||||
|   programs.ssh = { | ||||
|     enable = true; | ||||
|     startAgent = true; | ||||
|   }; | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue