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