当前位置:金沙js333娱乐场 > 网络频道 > RHEL7 学习笔记(10) 远程访问

RHEL7 学习笔记(10) 远程访问

文章作者:网络频道 上传时间:2019-10-11

RHEL7 学习笔记(10) 远程访问

登录流程

这一节学习了如何在Linux和Windows下对RHEL进行远程访问。主要包括了SSH的密码,密钥访问,XShell以及VNC的使用

密钥登录比密码登录安全,主要是因为他使用了非对称加密,登录过程中需要用到密钥对。整个登录流程如下:

首先来看看Linux下如何远程访问另外一台服务器。

远程服务器持有公钥,当有用户进行登录,服务器就会随机生成一串字符串,然后发送给正在进行登录的用户。

现在我有两条服务器 rhce7-00 和 rhce7-01,IP地址如下所示

用户收到远程服务器发来的字符串,使用与远程服务器公钥配对的私钥对字符串进行加密,再发送给远程服务器。

rhce7-01

服务器使用公钥对用户发来的加密字符串进行解密,得到的解密字符串如果与第一步中发送给客户端的随机字符串一样,那么判断为登录成功。

图片 1

整个登录的流程就是这么简单,但是在实际使用 ssh 登录中还会碰到一些小细节,这里演示一遍 ssh 远程登录来展示下这些细节问题。

rhce7-00

生成密钥对

图片 2

使用ssh-keygen就可以直接生成登录需要的密钥对。ssh-keygen是 Linux 下的命令,不添加任何参数就可以生成密钥对。

从00上远程访问01,很简单,直接输入 ssh IP地址即可 ,这是以当前用户(root)的身份进行访问。第一次连接的时候会确认指纹信息等等。

➜  ~ ssh-keygenGenerating public/private rsa key pair.Enter fileinwhichto save the key (/home/jaychen/.ssh/id_rsa):#1Enter passphrase (emptyforno passphrase):#2Enter same passphrase again:#3

图片 3

执行ssh-keygen会出现如上的提示,在#1处这里提示用户输入生成的私钥的名称,如果不填,默认私钥保存在/home/jaychen/.ssh/id_rsa文件中。这里要注意两点:

可以查看一下帮助信息 看看ssh命令能做哪些事情

生成的密钥,会放在执行ssh-keygen命令的用户的家目录下的.ssh文件夹中。即$HOME/.ssh/目录下。

图片 4

生成的公钥的文件名,通常是私钥的文件名后面加.pub的后缀。

如果想以指定用户身份登录,可以通过-l 选项或者电子邮件的格式指定

#2处,提示输入密码,注意这里的密码是用来保证私钥的安全的。如果填写了密码,那么在使用密钥进行登录的时候,会让你输入密码,这样子保证了如果私钥丢失了不至于被恶意使用。话是这么说,但是平时使用这里我都是直接略过。

例如

#3是重复#2输入的密码,这里就不废话了。

图片 5

生成密钥之后,就可以在/home/jaychen/.ssh/下看到两个文件了(我这里会放在/home/jaychen下是因为我使用 jaychen 用户来执行ssh-keygen命令)

图片 6

➜  .ssh ls

在当前用户的家目录下有个隐藏目录 .ssh, ssh搭建的远程连接会自动把远程主机的信息保存在known_hosts文件里面,这样下次再连接的时候就不会询问指纹相关的问题了

total 16K

图片 7

drwx------ 2 jaychen jaychen 4.0K 12月  7 17:57 .

如果想远程的打开图像工具怎么办?如下所示,直接运行firefox会报错

drwx------ 9 jaychen jaychen 4.0K 12月  7 18:14 ..

图片 8

-rw------- 1 jaychen jaychen 1.7K 12月  7 17:57 id_rsa.github

解决方式很简单,添加一个-X,就表明要打开X窗口了,再次运行firefox成功

-rw-r--r-- 1 jaychen jaychen 390 12月  7 17:57 id_rsa.github.pub

图片 9

生成的私钥还要注意一点:私钥的权限应该为rw-------,如果私钥的权限过大,那么私钥任何人都可以读写就会变得不安全。ssh 登录就会失败。

firefox还会显示这是一个运行在rhce7-01上的进程

首次 ssh 登录

图片 10

登录远程服务器的命令是

SSH访问远程服务器的时候,每次都会要求输入密码,如何避免这个麻烦呢?可以通过密钥的方式实现。基本原理是在当前主机上生成一对密钥,然后将公钥传送给远程主机,当进行远程访问的时候,对方会对一个随机值进行公钥加密,发送给本机,本机用私钥解密之后再发送回去,对方会对这个值进行匹配验证,如果相同,那么表示通过。豆子之前玩过一段时间aws,aws上的Linux虚拟机都是用这种密钥的方式进行远程访问的。

ssh 登录用户@服务器ip

基本操作,首先生成一对密钥, 里面的passphrase是指的对私钥进行同步加密,这样的话,当用户在本机进行验证的时候,用户还必须输入passphrase进行同步解密。这里为了简便,我就不输入密码了

这里开始要注意两个用户的概念:

图片 11

本地执行这条命令的用户,即当前登录用户,我这里演示的用户名称是 jaychen。

看看生成的这一对密钥

要登录到远程服务器的用户。

图片 12

在开始登录之前,我们要首先要把生成公钥上传到服务器。

本文由金沙js333娱乐场发布于网络频道,转载请注明出处:RHEL7 学习笔记(10) 远程访问

关键词: