云服务器用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
后面还可以带很多参数,感兴趣可以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登录的更多相关文章
- 阿里云服务器教程–SSH 登录时出现如下错误:Host key verification failed
注意:本文相关 Linux 配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试.其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档. 问题描述 使用 SSH 登 ...
- Bmob 移动后端云服务器平台实现登录注册
源码下载:http://download.csdn.net/download/jjhahage/10034519 PS:一般情况下,我们在写android程序的时候,想要实现登录注册功能,可以选择自己 ...
- 腾讯云服务器无法ssh登陆问题
SSH 登录时出现如下错误:Permission denied, please try again 解决:腾讯云主机控制台登录,先要设置root密码 修改 /etc/ssh/sshd_config 中 ...
- Linux服务器限制ssh登录,查看登录日志
网络上的服务器很容易受到攻击,最惨的就是被人登录并拿到root权限.有几个简单的防御措施: 1. 修改ssh服务的默认端口 ssh服务的默认端口是22,一般的恶意用户也往往扫描或尝试连接22端口.所以 ...
- 为Linux服务器的SSH登录启用Google两步验证
对于Linux服务器而言使用密钥登录要比使用密码登录安全的多,毕竟当前网上存在多个脚本到处进行爆破. 这类脚本都是通过扫描IP端的开放端口并使用常见的密码进行登录尝试,因此修改端口号也是非常有必要的. ...
- 在ec2上创建root用户,并使用root 通过Xshell远程登录aws云服务器
1.根据官网提供的方法登录连接到EC2服务器(官网推荐windows用户使用PUTTY连接) 2. 创建root的密码,输入如下命令: sudo passwd root 3.然后会提示你输入new p ...
- 使用XShell通过SSH访问Google谷歌云服务器方法
1:先用Xshell创建个密钥 下一步到这里,这个名称要记得,谷歌后台要用的. 把这里的公钥复制出来,当然最好也可以备份下. 2:到谷歌后台去添加ssh,然后就能连接了. 复制刚才生成的公钥,在谷歌云 ...
- 无法登录到Windows云服务器怎么办?
当您的云服务器无法远程登录时,我们首先建议您使用VNC方式登录. 是否可以通过控制台远程登录 远程登录失败时,请首先尝试能否通过管理控制台,使用VNC方式登录弹性云服务器. 登录管理控制台. 选择“计 ...
- 亚马逊云服务器AWS安装CentOS
亚马逊云服务器默认创建的实例,在停止之后再启动的情况下,IP会发生改变.所以我们最好先创建一个弹性IP,即EIP,不过我也不清楚这个费用. 1.按如图操作创建一个弹性IP,弹性IP创建之后可以随便绑定 ...
随机推荐
- ajax简介及JS写原生ajax
ajax 1.什么是ajax ajax 的全称是Asynchronous JavaScript and XML,其中, Asynchronous 是异步的意思,指的是异步 JavaScript 和 X ...
- Python生成器是什么
生成器是 Python 初级开发者最难理解的概念之一,虽被认为是 Python 编程中的高级技能,但在各种项目中可以随处见到生成器的身影,你得去理解它.使用它.甚至爱上它. 提到生成器,总不可避免地要 ...
- ATA接口寄存器描写叙述
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/mao0514/article/details/32135815 ATA接口寄存器描写叙述 .AT ...
- JQuery操作select中的option
html页面代码例如以下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...
- Android学习十---Android Camera
Android camera用来拍照和拍摄视频的先看一下最后实现的效果图 最后的效果图 一.准备 在你的应用程序上使用android拍照设备,需要考虑以下几个方面 1. 是否是 ...
- 简明python教程五----数据结构
python中有三种内建的数据结构:列表.元组和字典 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目.在python中,每个项目之间用逗号分隔. 列表中的项目应该包括在方 ...
- go——数组
数组(array)就是由若干个相同类型的元素组成的序列. var ipv4 [4]uint8 = [4]uint8(192,168,0,1) 在这条赋值语句中,我们为刚声明的变量ipv4赋值.在这种情 ...
- python 对象和类
python中所有数据都是以对象形式存在.对象既包含数据(变量),也包含代码(函数),是某一类具体事物的特殊实例. 面向对象的三大特性为封装.继承和多态. 1.定义类 #定义空类 class Pers ...
- yii根据id查询一条数据
model层 public function selectone($ag_id=''){ return $this->findBySql("SELECT * FROM agency w ...
- 筛选最新生成的报告——sort
筛选出最新报告发送,返回报告路径 import os def filePath(path): return os.path.join(os.path.abspath(os.path.dirname(o ...