作者:Mintimate
博客:https://www.mintimate.cn Mintimate's Blog,只为与你分享
现在,更多的网站使用Nginx充当Web服务器并部署为LEMP环境,即使是Java Web项目,通常也会使用Nginx进行端口反向代理,而Nginx的兼容和稳定性,Linux远远好于Windows Server。
另外一方面,Linux配合软件包管理器(yum、apt等),可以十分方便地安装好基本软件,现在还有Docker容器工具,如果是功能性模块,用Docker即可。还有一些公认的原因:
虽然Linux没有图形化界面、大部分新用户没有使用过,但是……我还是极度推荐服务器使用Linux。
那么,小白用户,买了服务器后,如何远程连接自己的Linux服务器呢?
嘿嘿,其实Linux连接,比Windows Server还简单很多嗷。可以选择的远程登录方式也很多~~
本次的分享不为别的,就是讲解最入门的使用:远程登录服务器。推荐使用SSH进行远程登录,安全性高,且更加方便,不推荐使用telnet进行远程登录,所以本次就教大家用SSH多种方法登录。
大家这次双十一,也一定买了腾讯云的轻量应用服务器吧,这次文件就教大家“开启”服务器的大门。本次服务器使用腾讯云轻量应用服务器,但是腾讯云CVM也是可以的嗷。其他厂商服务器,总体一样,可能不能使用腾讯云的一键登录功能。
本次教程,远程服务器主要有两个方面:
因为要使用SSH远程连接服务器,推荐的SSH客户端:
首先我们介绍一下账号登录,账号登录的好处:
我们新买的服务器,一般都是有安装OpenSSH和OpenSSL的,其中OpenSSH依赖于OpenSSL。所以,只需要设置用户名对应的密码后,客户端(本地电脑)就可以连接了。
以腾讯云为例,我们需要在部署后,设置服务器的密码。有两种方式:
首先介绍重置密码,重置密码只需要到控制台内即可:
之后注意密码的条件:
最后,重置服务器后会自动重启,这样密码就设置好了。
如果你要用lighthouse用户去设置(重置)密码,也很简单,在控制台内选择:
这个时候,我们会登录腾讯云默认用户:lighthouse
,在此界面使用su命令切换到root用户(也可以切换到其他用户):
sudo su - root
之后,我们可以使用passwd
命令,重置用户密码:
密码会自动隐藏哦,盲输后回车即可。
之后,我们需要运行服务器的SSH(OpenSSH)远程登录。**需要注意,如果你是使用腾讯云的控制台,进行
重置密码
,那么重置后,腾讯云会帮你配置好SSH(OpenSSH)远程登录,无需进行本次操作。**
编辑文件/etc/ssh/sshd_config
:
# 当前为root用户
vim /etc/ssh/sshd_config
之后,添加PasswordAuthentication=yes
。保存并退出即可。
如果你并不知道Vim的操作,建议参考文章终端文本编辑神器--Vim命令详解。如何配置Vim以及Vim插件?
最后,重启OpenSSH,使其生效:
# 当前为root用户
systemctl restart sshd
到此,SSH账号登录的服务器端,配置完成。接下来,我们就可以使用客户端连接了。
现在,我们就可以本地连接服务器。假设我的服务器IP是:192.168.3.241
,我的服务器是Debian/CentOS,默认用户为root,那么我的SSH连接命令就是:
ssh root@192.168.3.241
出现Are you sure you want to continue connecting (yes/no/[fingerprint])?
后,输入yes
并回车,这个时候输入刚刚设置的密码即可连接:
注意:输入密码时,密码自动隐藏,盲输后回车即可。
到此 ,我们的服务器就连接成功了:
接下来,我们介绍如何使用密钥进行登录,这也是我喜欢的远程登录方式,主要原因:
为实现密钥登录,我们只需要客户端生成私钥和公钥后,将公钥放置到服务器上,在使用SSH连接时,会自动进行匹配验证,并完成登录。
macOS和Linux通常自带OpenSSH和OpenSSL,所以我们直接使用Terminal进行密钥生成:
ssh-keygen -t rsa -C "youremail@domain.com"
其中,youremail@domain.com
为你的电子邮箱,不需要制定邮箱可以简化为:
ssh-keygen
其中:
Enter file in which to save the key
:密钥存放地址,默认为当前用户目录下的.ssh文件夹下。Enter passphrase
:保护私钥的密码,一般留空,直接和上面一样回车即可。Enter same passphrase again
:确认私钥密码(不解释了……)生成后,进入用户名文件夹即可看到我们生成的密钥:
其中:
id_rsa
:生成的私钥,保留在电脑即可。id_rsa.pub
:生成的公钥,打开后,复制内容,后文部署到服务器上。现在,我们就可以部署公钥到服务器了,你可以选择腾讯云控制台的一键部署:
之后,到控制台上部署即可:
当然,通用方法是先登录服务器:
之后,进入.ssh文件夹内(如果没有就使用mkdir命令创建),并使用vim创建并编辑authorized_keys
文件:
cd .ssh
vim authorized_keys
之后粘贴公钥即可:
到此,保存并退出即可:
到此,SSH密钥登录的服务器端,配置完成。接下来,我们就可以使用客户端连接了。
authorized_keys
内,可以添加多个客户端的公钥,一行一个,或者换行隔开即可。
和刚刚一样,我们使用ssh
命令就可以连接,假设我的服务器IP是:192.168.3.241
,我的服务器是Debian/CentOS,默认用户为root:
ssh root@192.168.3.241
但是这个时候就可以看到,不用输入密码了:
当然,这是一篇入门教程,新手总是会碰到一些问题。这里就解答一下常见的问题。
出现:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
一般出现这个错误,发生在你服务器重置后。主要是服务器的解析值不一样了,我们需要删除旧的(OpenSSH)解析值,需要删除的地址,上面已经写了:
打开上述文件,删除旧记录值:
删除后,即可重新连接:
如果你选择的是腾讯云Ubuntu系统:
默认,你只能使用ubuntu
这个用户进行登录;但,如果你想直接使用root用户进行远程登录,也不是不可以。
编辑/etc/ssh/sshd_config
这个文件,在文末添加:
PermitRootLogin yes
之后,保存并重启ssh服务:
systemctl restart sshd
之后,就可以使用root用户进行登录了。
如果SSH远程连接的时候,出现Permission denied (publickey).
错误:
其实看字面意思就可以理解了:权限不允许(公钥);意思就是,你电脑的私钥对应的公钥,并不在服务器的。两个解决方法:
authorized_keys
文件内,添加设备的公钥,具体操作可以看上文。/etc/ssh/sshd_config
内,添加PasswordAuthentication=yes
,具体操作也可以看上文。设置了authorized_keys,还是无法密钥登录?这个可以依次排查:
/etc/ssh/sshd_config
)内,是否有允许密钥登录。当前为root用户
drwxr-xr-x 2 root root 4.0K Dec 1 10:28 .ssh
-rw-r--r-- 1 root root 576 Dec 1 10:28 authorized_keys
到此,Linux远程连接就是这些嗷。总的来说,方法很多,不过这篇文章,足够各位入门了吧。嘿嘿,大家不要忘记点赞和收藏、分享嗷。
另外,不建议使用Linux桌面环境,如果有Linux桌面需求,需要在腾讯云服务器上安装Linux桌面环境,参考:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。