-
Star
(547)
You must be signed in to star a gist -
Fork
(392)
You must be signed in to fork a gist
-
-
Save bradtraversy/f03df587f2323b50beb4250520089a9e to your computer and use it in GitHub Desktop.
| # Login via SSH with password (LOCAL SERVER) | |
| > ssh [email protected] | |
| # Create folder, file, install Apache (Just messing around) | |
| mkdir test | |
| cd test | |
| touch hello.txt | |
| sudo apt-get install apache2 | |
| # Generate Keys | |
| > ssh-keygen | |
| # Add Key to server in one command | |
| > cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys" | |
| # Create & copy a file to the server using SCP | |
| > touch test.txt | |
| > scp ~/test.txt [email protected]:~ | |
| DIGITAL OCEAN | |
| # Create account->create droplet | |
| # Create Keys | |
| > ssh-keygen -t rsa | |
| (id_rsa_do) | |
| # Add Key When Creating Droplet | |
| # Try logging in | |
| > ssh root@doserver | |
| # If it doesn't work | |
| > ssh-add ~/.ssh/id_rsa_do | |
| (or whatever name you used) | |
| # Login should now work | |
| > ssh root@doserver | |
| # Update packages | |
| sudo apt update | |
| sudo apt upgrade | |
| # Create new user with sudo | |
| > adduser brad | |
| > id brad | |
| > usermod -aG sudo brad | |
| > id brad | |
| # Login as brad | |
| > ssh brad@doserver | |
| # We need to add the key to brads .ssh on the server, log back in as root | |
| > ssh root@doserver | |
| > cd /home/brad | |
| > mkdir .ssh | |
| > cd .ssh | |
| > touch authorized_keys | |
| > sudo nano authorized_keys | |
| (paste in the id_rsa_do.pub key, exit and log in as brad) | |
| # Disable root password login | |
| > sudo nano /etc/ssh/sshd_config | |
| # Set the following | |
| PermitRootLogin no | |
| PasswordAuthentication no | |
| # Reload sshd service | |
| > sudo systemctl reload sshd | |
| # Change owner of /home/brad/* to brad | |
| > sudo chown -R brad:brad /home/brad | |
| # May need to set permission | |
| > chmod 700 /home/brad/.ssh | |
| # Install Apache and visit ip | |
| sudo apt install apache2 -y | |
| # Generate Github Key | |
| > ssh-keygen -t rsa | |
| (id_rsa_github or whatever you want) | |
| # Add new key | |
| > ssh-add /home/brad/.ssh/id_rsa_github | |
| # If you get a message about auth agent, run this and try again | |
| > eval `ssh-agent -s` | |
| # Clone repo | |
| > git clone [email protected]:bradtraversy/react_otka_auth.git | |
| # Install Node | |
| > curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - | |
| > sudo apt-get install -y nodejs | |
| # Finish Otka | |
| > npm install | |
| # Start Dev Server and visit ip:3000 | |
| > npm start | |
| # Build Out React App | |
| npm run build | |
| # Move static build to web server root | |
| sudo mv -v /home/brad/react_otka_auth/build/* /var/www/html |
Thank's Brad
Thank's a lot!
Thanx sir
Very useful tutorial I say. I must say something and that's in order to access a self hosted server that doesn't have an easy web access like DigitalOcean has you have to become creative and find different means to copy and paste your public key to the server you're trying to access via SSH. One of the means, probably craziest and best at the same time in case of desktop server would be use of pastebin service with time-limited access. Our server runs desktop version of Ubuntu MATE, running as virtual machine under ProxMox on a physical machine, basically self hosted server. Console is simply just remote monitor and there is no shared clipboard feature so the only way I can copy paste between local machine and guest system on a remote server is using something like pastebin.
Thanks very much. Your video been in my YouTube downloaded videos for more than a year. Respect from Pakistan. @brad
I can't Thank you enough
If you run a server on a machine and then you move back and forth to 2 different networks(you'll have 2 different IPs). Is it possible to register 2 ssh keys in first run to work on both networks? The idea is to connect to server with the same user but in different local networks.
The command to "Add Key to server in one command" does not end with a double quote. Please fix. Thank you!
Thanks for the assistance, Brad!
Thanks a lot
thanks very helpful video
The youtube and gist is really helpful. You may want to update the github section as github recommends the ed25519 algorithm
Paste the text below, substituting in your GitHub email address.
$ ssh-keygen -t ed25519 -C "[email protected]"
Great work.
Thanks as always, the journey has been easier with you. l am just getting started with the Linux distro and it's like I don't know anything about it at all, do you or anyone have some resources they can refer me to, it would be of great help... Thanks again Brad!
thank you sir i just learned how to be more secure with ssh
thank you sir
Small mistake
The bash code for "Add key to server in one command" is missing a closing quotation mark. I don't know how other systems handle it, but in mine it kept expecting more lines until I added a closing quote.
thanks brad
Thanks brad.
Thanks Brad
extremely insightful.
Thanks brad
Thanks
In the "Add key to server in one command" where is the double quote supposed to end?
In the "Add key to server in one command" where is the double quote supposed to end?
at the end of the command
Thanks for this Brad
you're welcome
Awesome 🙌
that's awesome sir
Thank You Brad You're Brilliant!