This video is for beginners and hobbyist that are learning about the basics of servers and Linux. If you are managing multiple servers you can automate this kind of setup with tools like Terraform, Ansible, Puppet, Chef and others. We hope to cover these kinds of tools in future videos. Also, we want this video to be an accurate and secure guide for people that are learning the basics, if you notice anything wrong or missing, please let us know and we will add corrections.
I sure hope CJ's being properly compensated? He's a real catch! You guys have always been entertaining and great to watch! But, CJ is so high-bandwidth while also very entertaining. I love to be entertained while being educated. Syntax now is best in class on TH-cam!!!
Have been looking for this exact video and this exact series for a lot of time. I'm new to Linux, i'm using Debian and trying to set up a web server on my raspberry pi and, until i found your video, i was quite overwhelmed on how dense and complex is all the documentation. Linux overall need more quality content like yours, an easy first step to set things running and links and advice on how to improve and take on more complex topics. Absolutely brilliant.
Seriously this video helped me immensely. I just have a little play server and didn't realize anyone would try to hack into it. Sure enough, I checked the auth log and there's a lot of activity of some folks trying to log in with all sorts of usernames. My server is now secure thanks to the info in this video.
Looking forward to the next part of this series! Just signed up for a Hetnzer VPS and followed the steps here, I now know so much more about basic linux and web servers!
Man, if I had this video when first setting up my Raspberry Pi I would be over the moon 🙌. Having to figure all this stuff out separately took some time.
Thanks for the awesome content, so much information and you really find a great balance between depth and speed. I have a spare dell laptop lying around which I am beginning to think to turn into my own server. How deluded am I? The main purpose would be for my business to run a python script for langchain that takes a recording, transcribes it and then saves to to a git repo (an automatic summary for students). The reason being I am having a hard time making the script and corresponding packages easy to install and set up for my peers! So I want to set the laptop up as a kind of server, albeit with some down time now and then.
A spare old laptop running Linux is a great way to get started with this kind of stuff as well. If you haven't heard of it, research "home lab" and you'll find lots of resources on this. I think if the server will only be used by students / staff, this should be doable. -CJ
I always thought servers were fun, so I decided to subscribe for a cheap VPS and play around with self hosting. And a couple of hours after I did I found your videos. So detailed, so insightful. Perfect! It's like the universe is trying to tell me to keep messing around. Keep up the good work!
21:19 Just add the custom port number to your (client) ssh config! Super easy win. I specify my user there too because I typically only have a single user I'm concerned with.
Great content CJ! One little advice from a viewer perspective, please limit the amount of zoom in/zoom out for the framing. A more subtle movement would be beneficial and still effective! Thanks!
@@syntaxfm You are right, I've just finished this great video and I've noticed the improvement in the subsequent minutes. Kudos and waiting for the next!
Amazing Content CJ, question: What if you some how lost the ssh key after disabling password authentication? I am new to all this vps stuff, so looking forward to learn more on your channel.
Nice video! This video will be a great checklist for when I'm spinning up a new VPS. My question is, how much can you pack inside this 1 vCPU 1GB Ram VPS? Will it be able to run an simple sqlite database + nuxt? Any tips on how to make the most out of it?
This is a great video for walking through VPS basic set up and security measures. Really enjoyed it! Looking forward to the next one 👌 One question for my own understanding, we do something similar already with SSH keys at my day job, but we use .pem keys to log in. Is there any difference / benefits to doing it that way vs how you're doing it without? Thanks
.pem is a container file format that can store all kinds of cryptographic keys including SSL certificates. When using it with SSH, it will contain a private key. The ~/.ssh/id_rsa (private key) file is actually a .pem file but without the extension! The only difference with the way you are connecting is manually specifying the key to use instead of the ssh agent picking one automatically from ~/.ssh - if you want the ssh-agent to automatically use your .pem file when connecting to a server, you can use: ssh-add keyfile.pem - but you'll need to do this after every reboot. -CJ
Can't you use scp to copy your public key to your vps? There is also a way to add 2FA using TOTP codes as a second form of authentication to the terminal.
If your VPS provider has "console" mode, you can login with the root password if you still know it. In some cases this would require a support ticket / someone at the VPS company with direct hypervisor access to login. Otherwise, you would need to ask your hosting provider to reset your VPS. This is why backups and fail safes are important. I'll talk about those in future videos. -CJ
this is my first time i like the youtube suggestion very clear tutorial and I like you energie thanks CJ please can you add this tutorials how we can run docker apps in vps and use different domain name for each app ? run Nginx as reverse proxy
Are you sure you wouldn’t rather hear how a famous dev guy or other, starts his day, and what kinda coffee he drinks? syntax sometimes goes on two hour interviews of non value info. I agree I like this better. Syntax keep up the channel…
You can do this with those tools or any other type of VPN including OpenVPN and Wireguard. Once the VPS is connected to the VPN, you can add a firewall rule that limits connections to port 22 from a given subnet within the VPN.
Guys, this might not be the best place to ask question, but I am wondering rn how can i publish my portfolio app that makes uses websockets for free? Looking at servicea other than aws, azure, gcp feels like some functionality is missing while they themselves look like rabbitholes😅
websockets require a traditional long-running server, and I don't think there are any free offerings in this space. You should grab a $5 VPS and follow along this series so you can host your own :)
I linked a few cheap VPS options here: twitter.com/coding_garden/status/1770834001843957963 Another alternative for real-time connections is to use the free tier on a hosted service like supabase or firebase, but this will likely require you to re-write your real-time logic.
It has. Check out this for the full story th-cam.com/video/fmdJ1KGSKIA/w-d-xo.htmlsi=LEMCXbW0a8VIi9Oj TLDR, Level Up Tutorials and Syntax were acquired by Sentry and to simplify things we combined them. Scott who started LUT is deeply involved in content and planning.
This video is for beginners and hobbyist that are learning about the basics of servers and Linux. If you are managing multiple servers you can automate this kind of setup with tools like Terraform, Ansible, Puppet, Chef and others. We hope to cover these kinds of tools in future videos.
Also, we want this video to be an accurate and secure guide for people that are learning the basics, if you notice anything wrong or missing, please let us know and we will add corrections.
CJ on fire with these videos! 🔥🔥🔥
I sure hope CJ's being properly compensated? He's a real catch!
You guys have always been entertaining and great to watch! But, CJ is so high-bandwidth while also very entertaining. I love to be entertained while being educated. Syntax now is best in class on TH-cam!!!
Self Host 101 + Coolify Crash Course + a whole pod on PocketBase? Amazing! This is exactly my money making stack I try to bet on.
Love this !! so easy to understand and follow !! That SSH ports explanation was top notch
Great video - explains in 25 minutes the most important parts of the FEM course on the same topic, which is 6 hours (and I love Jem Young's course)
I have always loved CJ and his tutorials on his channel, but he hasn‘t done them often in the last months I think. More CJ tutorials!!!
Once we get rolling there will be much more CJ on this channel
can you share his channel link
@@alexdin1565 youtube.com/@CodingGarden
@@alexdin1565 CodingGarden on yt
Excited for this series! Would be interested to see server configuration with Caddy
That will be the next video!
I've been using Linux for 6 months, but learned a lot of new things. Great video!
Have been looking for this exact video and this exact series for a lot of time.
I'm new to Linux, i'm using Debian and trying to set up a web server on my raspberry pi and, until i found your video, i was quite overwhelmed on how dense and complex is all the documentation.
Linux overall need more quality content like yours, an easy first step to set things running and links and advice on how to improve and take on more complex topics.
Absolutely brilliant.
Absolutely love your content. Can’t explain it, but it feels like I’m being tutored 1 on 1. You have a knack for teaching. Stoked for more!
Seriously this video helped me immensely. I just have a little play server and didn't realize anyone would try to hack into it. Sure enough, I checked the auth log and there's a lot of activity of some folks trying to log in with all sorts of usernames. My server is now secure thanks to the info in this video.
Excited about the future content for setting the server for web apps
Looking forward to the next part of this series! Just signed up for a Hetnzer VPS and followed the steps here, I now know so much more about basic linux and web servers!
This is very helpful CJ. You’re an excellent teacher. I’m venturing into self-hosting, so these trainings are coming in handy!
Man, if I had this video when first setting up my Raspberry Pi I would be over the moon 🙌. Having to figure all this stuff out separately took some time.
This is on the outer edges of the theoretical limits of how good TH-cam content can be. Great job!!
Very concise! Great video editing (including music) to keep audience focused. Thanks Man!
Really great work on putting this together, easy to follow and concise 🔥
Thanks for the awesome content, so much information and you really find a great balance between depth and speed.
I have a spare dell laptop lying around which I am beginning to think to turn into my own server. How deluded am I?
The main purpose would be for my business to run a python script for langchain that takes a recording, transcribes it and then saves to to a git repo (an automatic summary for students).
The reason being I am having a hard time making the script and corresponding packages easy to install and set up for my peers! So I want to set the laptop up as a kind of server, albeit with some down time now and then.
A spare old laptop running Linux is a great way to get started with this kind of stuff as well. If you haven't heard of it, research "home lab" and you'll find lots of resources on this. I think if the server will only be used by students / staff, this should be doable. -CJ
@@syntaxfm thanks, that's what I really wanted to hear haha
This video brings me happiness. Not just the content, but CJ is the best fit for this by a mile!
I always thought servers were fun, so I decided to subscribe for a cheap VPS and play around with self hosting.
And a couple of hours after I did I found your videos. So detailed, so insightful. Perfect!
It's like the universe is trying to tell me to keep messing around.
Keep up the good work!
What a catch CJ was. I thoroughly enjoy his style and energy!
21:19 Just add the custom port number to your (client) ssh config! Super easy win. I specify my user there too because I typically only have a single user I'm concerned with.
Ohhh. This is awesome. I have a PC that I've been thinking about utilizing like this. I will be following this series for sure!
CJ is a beast. I definitely love these how to video's and self hosted is what I'm working on.
So goooooood...
VPS FTW! I'm hyped about this series! Thanks for sharing! CJ you are the MVP(S) 😘
Oh wow perfect. I have just started self hosting my stuff and I know little about security. Thanks Coding Garden Guy
I'm liking the shift to Linux stuff and servers!! Looking forward to more.
Top notch. Quality. 😊 Many thanks. 😊
That is some GREAT content. Can’t wait for the next parts of this series
Wow this is amazing cj
just in time
Pleaaase continue I’m excited for this series 🔥🔥
Coding garden forever 🌱
Great video CJ, looking forward to the series!
I love you bro. you saved me hours of researching
Thank you. I really needed this. It explained everything plain and simple.
Love this content. It's actually worth learning this stuff as opposed to the latest in js-land.
Looking forward to the rest of this series
Great content CJ! One little advice from a viewer perspective, please limit the amount of zoom in/zoom out for the framing. A more subtle movement would be beneficial and still effective! Thanks!
Thanks for the feedback. This does stop after the 3 minute mark, but I should probably limit it to just the intro. -CJ
@@syntaxfm You are right, I've just finished this great video and I've noticed the improvement in the subsequent minutes. Kudos and waiting for the next!
Great stuff, looking forward to the next one!
Amazing Content CJ, question: What if you some how lost the ssh key after disabling password authentication? I am new to all this vps stuff, so looking forward to learn more on your channel.
New favorite channel! These videos are so good.
2:54 I've been wondering how much a tiny/starter VPS could handle, thanks for the info!
That was just what I was looking for!
Heyyy CDawg, didn't know you had another channel, my guy! Most instantest sub ever 😸
super interested , keep them videos coming
Simply Brillient
Very useful, thanks CJ ❤
That was very interesting and useful. Please keep it coming.
Super useful series!! Keep it going 😃
syntax is looking good on you, CJ!
Great tutorial! Thanks for creating it!
Great video, helps a lot, CJ!
Nice video! This video will be a great checklist for when I'm spinning up a new VPS.
My question is, how much can you pack inside this 1 vCPU 1GB Ram VPS?
Will it be able to run an simple sqlite database + nuxt?
Any tips on how to make the most out of it?
4:30 Maybe I missed it, but the reason for the fingerprint is to help prevent "man in the middle" attacks.
What provider are you using for your VPS? I've always been overwhelmed trying to choose
0:52 "CJ Doesn't use Arch BTW" - have you already done a video stating why??
Can't wait for part 2
This is a great video for walking through VPS basic set up and security measures. Really enjoyed it! Looking forward to the next one 👌
One question for my own understanding, we do something similar already with SSH keys at my day job, but we use .pem keys to log in. Is there any difference / benefits to doing it that way vs how you're doing it without?
Thanks
.pem is a container file format that can store all kinds of cryptographic keys including SSL certificates. When using it with SSH, it will contain a private key.
The ~/.ssh/id_rsa (private key) file is actually a .pem file but without the extension!
The only difference with the way you are connecting is manually specifying the key to use instead of the ssh agent picking one automatically from ~/.ssh - if you want the ssh-agent to automatically use your .pem file when connecting to a server, you can use: ssh-add keyfile.pem - but you'll need to do this after every reboot.
-CJ
@@syntaxfm Awesome thanks CJ! Great video
Great content as always cj, but I got dizzy from the zooming in and out❤😂
CJ! Love it !
Can't you use scp to copy your public key to your vps? There is also a way to add 2FA using TOTP codes as a second form of authentication to the terminal.
Great stuff, thanks for the content!
Awesome! Let's go!
@4:50 - does this also include when you ssh in from another computer?
ssh-copy-id can be used to transfer your public key
Any way to avoid the password request? I'm using ssh keys so I prefer not to remember always the password.
this is a really really good video. sshing my love to you... ❤
I really really want part 2 CJ
What happens if you disable password login and lose your public key?
If your VPS provider has "console" mode, you can login with the root password if you still know it. In some cases this would require a support ticket / someone at the VPS company with direct hypervisor access to login. Otherwise, you would need to ask your hosting provider to reset your VPS. This is why backups and fail safes are important. I'll talk about those in future videos. -CJ
If I don't have my machine where I log in with my secondary user, how can I log in to the server if the root is disabled as well?
Yup, after realising there's no good way to prevent unexpected serverless costs i've gone back to traditional servers.
Ayye seeing your face instantly lit up my face with a smile
this is a great video.
the auth.log command didnt work for me because there was no file. but i used last and lastlog which works fine.
won't restricting IP access as *first* step makes all the others redundant? If I have a static one for accessing, ofc
Yes I cover this at 21:31
this is my first time i like the youtube suggestion very clear tutorial and I like you energie thanks CJ
please can you add this tutorials
how we can run docker apps in vps and use different domain name for each app ?
run Nginx as reverse proxy
Hey it seems your audio is slightly out of sync with the video itself.
Dude, thank you
pretty cooool !😱
Given these tasks are always performed when setting up a VPS is there a way to automate them?
Yes there are a few popular tools for this: cloud-init, Terraform, Ansible, Puppet and Chef
-CJ
This is amazing
Thank you!
Nice :) thanks.
Thanks CJ
Yesss! **Grabs Popcorn**
Are you going to cover cloudflare?
tnx!
CJ ❤
This kind of stuff interests me!
Also saying in the comments.
Are you sure you wouldn’t rather hear how a famous dev guy or other, starts his day, and what kinda coffee he drinks? syntax sometimes goes on two hour interviews of non value info. I agree I like this better. Syntax keep up the channel…
The goal here is to have regular deep dives into real code and practical stuff to accompany the more causal pod. Def more on the way.
good one
Does CJ has his own channel?
I do! Over here on Coding Garden. I haven't posted any videos there since joining Syntax but will start live streaming again soon.
How can you use something like Zerotier or Tailscale to only allow ssh from those vpn services?
You can do this with those tools or any other type of VPN including OpenVPN and Wireguard. Once the VPS is connected to the VPN, you can add a firewall rule that limits connections to port 22 from a given subnet within the VPN.
@@CodingGarden Great, thanks!
Cant seem to find find episode 615 of syntax...
syntax.fm/show/615/where-should-you-host-your-app-hosting-providers-compared
mustache is pretty legendary ngl lol
Kool kool kool
Guys, this might not be the best place to ask question, but I am wondering rn how can i publish my portfolio app that makes uses websockets for free? Looking at servicea other than aws, azure, gcp feels like some functionality is missing while they themselves look like rabbitholes😅
websockets require a traditional long-running server, and I don't think there are any free offerings in this space. You should grab a $5 VPS and follow along this series so you can host your own :)
I linked a few cheap VPS options here: twitter.com/coding_garden/status/1770834001843957963
Another alternative for real-time connections is to use the free tier on a hosted service like supabase or firebase, but this will likely require you to re-write your real-time logic.
@@WesBos @CodingGen thank you! I will look into these
How to get public ip
i always thought sudo was like a cutesy spelling of pseudo like, 'fake root admin'
if root no longer login. what if we forgot the pw?
No need root if you have created a new user, root is no longer used.
@akhmami how about if we forgot all users pw?
@yoskokleng3658 In this tutorial, we no longer use pw to login, but the SSH key. You can watch the next video if you lose your SSH key.
Has the channel been renamed?
It has. Check out this for the full story th-cam.com/video/fmdJ1KGSKIA/w-d-xo.htmlsi=LEMCXbW0a8VIi9Oj
TLDR, Level Up Tutorials and Syntax were acquired by Sentry and to simplify things we combined them. Scott who started LUT is deeply involved in content and planning.
This course is not for beginners 😭
To follow along, you will need to be comfortable with the command line. Search for videos / courses on linux command line basics.
Don't forget to set correct file permissions!
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys