content: new entries on network management
This commit is contained in:
		
							parent
							
								
									e9534f53dc
								
							
						
					
					
						commit
						409eccd956
					
				
					 3 changed files with 123 additions and 0 deletions
				
			
		
							
								
								
									
										59
									
								
								zk/Create_a_deploy_user.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								zk/Create_a_deploy_user.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,59 @@ | ||||||
|  | --- | ||||||
|  | tags: | ||||||
|  |   - servers | ||||||
|  | --- | ||||||
|  | 
 | ||||||
|  | # Create a deploy user | ||||||
|  | 
 | ||||||
|  | When I want to run deploy operations on my server from a client that is not me | ||||||
|  | (e.g. Forgejo) it is best to create a user for this purpose that has limited | ||||||
|  | conditions - more restricted than my `/home` user. | ||||||
|  | 
 | ||||||
|  | Create user on server: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | sudo useradd -m -s /bin/bash deploy | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | > `-m` gives him a home directory which is necessary for him to have an `.ssh/` | ||||||
|  | > directory. `/bin/bash` gives him the ability to run shell commands. | ||||||
|  | 
 | ||||||
|  | Give permissions: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | sudo chown -R deploy:www-data /var/www | ||||||
|  | sudo chmod -R 755 /var/www/ | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | This: | ||||||
|  | 
 | ||||||
|  | - Adds the user ("deploy") to the group of the default web server user | ||||||
|  |   (`www-data`) | ||||||
|  | - Gives deploy user full read/write/execute | ||||||
|  | 
 | ||||||
|  | Then create an SSH key-pair for the deploy user following the steps at | ||||||
|  | [Generating an SSH key for server access](./Generating_SSH_key_for_server_access.md) | ||||||
|  | and add his public key to the `authorized_keys` file on the server. | ||||||
|  | 
 | ||||||
|  | He'll first need his own `.ssh` directory however: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | sudo mkdir -p /home/deploy/.ssh | ||||||
|  | sudo touch /home/deploy/.ssh/authorized_keys | ||||||
|  | sudo chmod 700 /home/deploy/.ssh | ||||||
|  | sudo chmod 600 /home/deploy/.ssh/authorized_keys | ||||||
|  | sudo chown -R deploy:deploy /home/deploy/.ssh | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Then attempt to connect to ensure SSH access is working: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | ssh -i .ssh/deploy_self_host_server deploy@server_ip | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Now the SSH key associated with the deploy user can be used to remotely execute | ||||||
|  | deployment functions on the server from any client. | ||||||
|  | 
 | ||||||
|  | Next need to add deploy user's key to Forgejo eolas-api repo and test the action | ||||||
|  | again | ||||||
							
								
								
									
										24
									
								
								zk/DHCP.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								zk/DHCP.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | --- | ||||||
|  | tags: [internet, networks] | ||||||
|  | --- | ||||||
|  | 
 | ||||||
|  | # DHCP | ||||||
|  | 
 | ||||||
|  | Stands for **Dynamic Host Configuration Protocol** and operates on consumer | ||||||
|  | routers. This is a server protocol. | ||||||
|  | 
 | ||||||
|  | Automatically assigns IP addresses and network configuration settings to devices | ||||||
|  | when they connect to a network. | ||||||
|  | 
 | ||||||
|  | Saves you from manually configuring each device on the network. Dynamically | ||||||
|  | distributes: | ||||||
|  | 
 | ||||||
|  | - [IP addresses](./IP_addresses.md) | ||||||
|  | - [Subnet masks](./IP_addresses.md) | ||||||
|  | - Default gateway addresses | ||||||
|  | - DNS server addresses | ||||||
|  | 
 | ||||||
|  | > Why was this pertinent to the configuration of my Pihole? DHCP on my router | ||||||
|  | > will chose the default DNS server. I wanted to change the default DNS server | ||||||
|  | > to use the address of the Pihole on the network. This change has to be made in | ||||||
|  | > the DHCP settings. | ||||||
							
								
								
									
										40
									
								
								zk/Generating_SSH_key_for_server_access.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								zk/Generating_SSH_key_for_server_access.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,40 @@ | ||||||
|  | --- | ||||||
|  | tags: | ||||||
|  |   - servers | ||||||
|  | --- | ||||||
|  | 
 | ||||||
|  | # Generating SSH key for server access | ||||||
|  | 
 | ||||||
|  | Using local machine generate new key: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | ssh-keygen -t ed25519 -C "user@clientname" -f ~/.ssh/user_clientname | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | This creates a public/private key pair on the local machine, viz: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | .ssh/user_clientname | ||||||
|  | .ssh/user_clientname.pub | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Get the public key: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | cat .ssh/user_clientname.pub | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Add to the server's authorized keys: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | echo "PASTE_PUBLIC_KEY_HERE" >> ~/.ssh/authorized_keys | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Test by using the new public key to connect: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | ssh -i ~/.ssh/user_clientname user@servername | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Paste the private key into whatever client wants to access the server (e.g. | ||||||
|  | Forgejo). | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue