本地生成密钥

这里选择在购买前先在本地生成密钥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

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

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

购买腾讯云

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

ssh密钥登录vps:

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

方法

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

~$ ssh ubuntu@xxxxxxxxxx

注意腾讯给的默认用户是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 authorized_keys //设置文件权限
    chmod -R .ssh //是指文件夹权限

    sshd_config文件配置 
    进入到ssh的配置文件sshd_config里,修改一些选项,先找到这个文件(/etc/ssh/sshd_config),如下图,使用超级用户权限打开,其中会要求你输入密码,密码就是腾讯在邮件里给你发的那个密码(不喜欢可以改)

  • 需要进行的几个操作:
  •  //使用密钥登录
    RSAAuthentication yes
    PubkeyAuthentication yes
    //禁止空密码和Root密码登录:
    PermitEmptyPasswords no
    PasswordAuthentication no

    至于AuthorizedKeysFile这个选项不用管,直接用#注释掉就行啦,这个是认证文件的地址,注释掉表示默认地址,就是在/ubuntu/.ssh这个文件里。

  • #AuthorizedKeysFile     %h/.ssh/authorized_keys

    理一理思路

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

云服务器用ssh登录的更多相关文章

  1. 阿里云服务器教程–SSH 登录时出现如下错误:Host key verification failed

    注意:本文相关 Linux 配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试.其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档. 问题描述 使用 SSH 登 ...

  2. Bmob 移动后端云服务器平台实现登录注册

    源码下载:http://download.csdn.net/download/jjhahage/10034519 PS:一般情况下,我们在写android程序的时候,想要实现登录注册功能,可以选择自己 ...

  3. 腾讯云服务器无法ssh登陆问题

    SSH 登录时出现如下错误:Permission denied, please try again 解决:腾讯云主机控制台登录,先要设置root密码 修改 /etc/ssh/sshd_config 中 ...

  4. Linux服务器限制ssh登录,查看登录日志

    网络上的服务器很容易受到攻击,最惨的就是被人登录并拿到root权限.有几个简单的防御措施: 1. 修改ssh服务的默认端口 ssh服务的默认端口是22,一般的恶意用户也往往扫描或尝试连接22端口.所以 ...

  5. 为Linux服务器的SSH登录启用Google两步验证

    对于Linux服务器而言使用密钥登录要比使用密码登录安全的多,毕竟当前网上存在多个脚本到处进行爆破. 这类脚本都是通过扫描IP端的开放端口并使用常见的密码进行登录尝试,因此修改端口号也是非常有必要的. ...

  6. 在ec2上创建root用户,并使用root 通过Xshell远程登录aws云服务器

    1.根据官网提供的方法登录连接到EC2服务器(官网推荐windows用户使用PUTTY连接) 2. 创建root的密码,输入如下命令: sudo passwd root 3.然后会提示你输入new p ...

  7. 使用XShell通过SSH访问Google谷歌云服务器方法

    1:先用Xshell创建个密钥 下一步到这里,这个名称要记得,谷歌后台要用的. 把这里的公钥复制出来,当然最好也可以备份下. 2:到谷歌后台去添加ssh,然后就能连接了. 复制刚才生成的公钥,在谷歌云 ...

  8. 无法登录到Windows云服务器怎么办?

    当您的云服务器无法远程登录时,我们首先建议您使用VNC方式登录. 是否可以通过控制台远程登录 远程登录失败时,请首先尝试能否通过管理控制台,使用VNC方式登录弹性云服务器. 登录管理控制台. 选择“计 ...

  9. 亚马逊云服务器AWS安装CentOS

    亚马逊云服务器默认创建的实例,在停止之后再启动的情况下,IP会发生改变.所以我们最好先创建一个弹性IP,即EIP,不过我也不清楚这个费用. 1.按如图操作创建一个弹性IP,弹性IP创建之后可以随便绑定 ...

随机推荐

  1. IE11 Enterprise Mode Template missing from GPMC

    IE11 Enterprise Mode Template missing from GPMC     Reason:You have not copied the new IE11 Enterpri ...

  2. php 使用imagettftext()函数出问题的原因

    <?php header('Content-type: image/png'); $im = imagecreatetruecolor(400, 300); //创建画布 $white = im ...

  3. php strcmp()字典排序

    字典排序(lexicographical order)是一种对于随机变量形成序列的排序方法.其方法是,按照字母顺序,或者数字小大顺序,由小到大的形成序列. 比如,字典中a-z,是依次递增的,a,b,c ...

  4. Checksum 磁盘扇区故障检测

    w https://en.wikipedia.org/wiki/Checksum https://zh.wikipedia.org/wiki/校验和 A checksum is a small-siz ...

  5. CSRF Cross-site request forgery

    w 跨站请求伪造目标站---无知用户---恶意站 http://fallensnow-jack.blogspot.com/2011/08/webgoat-csrf.html https://wiki. ...

  6. Java 之反射机制

    java 语言的反射机制 - 在运行状态中,对于任意一个类 (class 文件),都能够知道这个类的所有属性和方法; - 能动态获取类中的信息,也可以理解为对类(字节码文件)的解剖 描述字节码文件的类 ...

  7. Yii2.0的乐观锁与悲观锁(转)

    原文:Yii2.0的乐观锁与悲观锁 Web应用往往面临多用户环境,这种情况下的并发写入控制, 几乎成为每个开发人员都必须掌握的一项技能. 在并发环境下,有可能会出现脏读(Dirty Read).不可重 ...

  8. ViewConfiguration 和 ViewConfigurationCompat

    Contains methods to standard constants used in the UI for timeouts, sizes, and distances. 一.几个常用的方法 ...

  9. Python3+Selenium3自动化测试-(四)

    selenium鼠标事件 # coding=utf-8 import time from selenium import webdriver from selenium.webdriver.commo ...

  10. s5_day9作业

    # 1 编写 tail -f a.txt |grep 'error' |grep '404'命令,周一默写 # import time # def tail(filepath,encoding='ut ...