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