腾讯云购买以及配置ssh密钥登录

我用的ubuntu,所以这个是针对ubantu的
关于简单的安全配置,网上大都是选择购买完以后用腾讯发给你的passwd登录(可以用vnc或者ssh),在登录以后再进行相关配置。

本地生成密钥
这里选择在购买前先在本地生成密钥key(分为private key和public key),所以先生成密钥再进行购买,购买完以后直接ssh登录,不需要输入密码(安全性考虑)

其中,public key存放在欲登录的服务器上,而private key为特定的客户机所持有。
当客户机向服务器发出建立安全连接的请求时,首先发送自己的public key,如果这个public key是被服务器所允许的,服务器就发送一个经过public key加密的随机数据给客户机,这个数据只能通过private key解密,客户机将解密后的信息发还给服务器,服务器验证正确后即确认客户机是可信任的,从而建立起一条安全的信息通道。
通过这种方式,客户机不需要向外发送自己的身份标志“private key”即可达到校验的目的,并且private key是不能通过public key反向推断出来的。这避免了网络窃听可能造成的密码泄露。客户机需要小心的保存自己的private key,以免被其他人窃取。(这就是为什么先在本地生成密钥,而不是在登录你的vps以后生成然后把私钥下载到本地,任何时刻都要保证私钥处在一个安全的地方)
简单的理论知识就补这么多很好理解,接下来就是步骤了

生成密钥命令

ssh-keygen -t rsa
1
后面还可以带很多参数,感兴趣可以google
执行命令会出现这样,执行后让你输入东西的全部回车,文件保存路径也是默认回车就行啦,不需要输入任何东西!!!(因为我已经生成过了,所以把路径选在了桌面)

这步骤完了以后在 cd 到 .ssh 文件下就能看见生成的公钥和密钥,一会公钥有用。

购买腾讯云
好,现在可以区腾讯云购买vps了
前面的步骤默认就行啦,买哪里的服务器随意,到下面这步的时候就选择立即关联密钥:

然后在下面的ssh密钥输入框那里点击现在创建,出来一个界面以后再次点击创建密钥,会出现如下的图:注意在创建方式那里不要默认选择创建密钥对(这是腾讯给你创建的,不安全,原因前面已经说过了),选择使用已有公钥选项。 还记得刚开始用ssh-keygen -t rsa生成的公钥吗?在你的用户主目录下cd到那个文件去,把他拷贝下来(注意拷贝的是公钥id_rsa.pub),然后粘贴到‘输入公钥’那个长方形框里去,至于密钥名称随意起。

创建完以后就可以回到之前的界面,在‘ssh密钥’选项框里把你刚创建的密钥选上,购买就能好了。

ssh密钥登录vps:
购买完以后注意查收你的邮箱,会给你发邮件,有用户登录密码,注意腾讯给的默认用户是ubuntu而不是root用户,登录的时候登录名请用ubuntu,不然登不上
方法

  1. 使用vnc客户端:直接在网页界面你买到的vps后面点击登录(可以试着玩玩),这不是本文的重点!
  2. 使用ssh登录,打开终端输入如下:

~$ ssh ubuntu@xxxxxxxxxx
1
注意腾讯给的默认用户是ubuntu,@后面加你购买到的vps的公网Ip,vps界面后边有,直接复制

回车以后,直接就登录到你的vps去了(如上图),不用输入密码,这样一是保证安全性,二是方便

成功登录以后说明你的电脑已经可以通过ssh密钥方式直接登录你的电脑了!!

简单的ssh安全配置:
.ssh文件设置
首先我们来找到公钥的存放位置,默认在 /home/ubuntu/.ssh里面,也就是ubuntu用户目录下的.ssh里,cd到这个文件夹后可以ls一下可以看见id_rsa.pub(也就是你购买时复制本地生成的那个公钥)
这里多说一句,正是因为这个文件只有这里有,根目录下没有,所以不能ssh root@xxxxxxx登录。
废话不多说//在ubuntu用户下执行如下命令就好了
cd .ssh
ls //ls你可以看到这个文件
touch authorized_keys //生成认证文件,其实已经有了
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys //设置文件权限
chmod 700 -R .ssh //是指文件夹权限
1
2
3
4
5
6
sshd_config文件配置
进入到ssh的配置文件sshd_config里,修改一些选项,先找到这个文件(/etc/ssh/sshd_config),如下图,使用超级用户权限打开,其中会要求你输入密码,密码就是腾讯在邮件里给你发的那个密码(不喜欢可以改)

需要进行的几个操作:
//使用密钥登录
RSAAuthentication yes
PubkeyAuthentication yes
//禁止空密码和Root密码登录:
PermitEmptyPasswords no
PasswordAuthentication no
1
2
3
4
5
6
至于AuthorizedKeysFile这个选项不用管,直接用#注释掉就行啦,这个是认证文件的地址,注释掉表示默认地址,就是在/ubuntu/.ssh这个文件里。

#AuthorizedKeysFile %h/.ssh/authorized_keys
1
2
理一理思路
当你在远程启动ssh登录vps时,首先vps端口监听到请求,从sshd_config配置文件找到公钥存放位置,也就是.shh这个文件,与你的本地主机发来的公钥对比,如果匹配上,vps再给你的本地主机发送加密数据,本地主机通过私钥进行解密,将解密的数据再发送给vps,若正确就可以远程登录。

参考:https://blog.csdn.net/ouzuosong/article/details/52225087

你可能感兴趣的:(Linux,ssh密钥登录,腾讯云购买)