首页 > 系统相关 >Linux学习之CentOS(三十一)--Linux远程管理之SSH、VNC

Linux学习之CentOS(三十一)--Linux远程管理之SSH、VNC

时间:2023-09-17 16:22:41浏览次数:44  
标签:VNC CentOS SSH 远程管理 Linux xiaoluo root 我们

您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态。 

如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦   

如果您对文章内容有任何疑问, 可以通过评论或发邮件的方式联系我: [email protected]  / [email protected]

如果需要转载,请注明出处,谢谢!!
复制代码

马上就要考六级还有期末考试了,伤不起啊,所以可能Linux系列的文章更新的就没那么快啦。。。。。。希望这次CET-6能够飘过啊~~~~~~~~

本篇随笔将讲解Linux下常用的两个远程管理工具,一个是基于CLI(命令行模式)的SSH,另一个是基于GUI(图形用户界面模式)的VNC。

一、远程管理的基本概念

首先我们来初略的讲讲远程管理的一些基本概念。对于我们使用的计算机来说,如果是个人计算机,就没有远程管理这一概念了,想用的时候开机就能使用,而对于我们的服务器来说,就不同了,对于服务器其一般都是放置在我们的IDC机房当中,我们通常是无法直接接触到服务器硬件,那么我们如果要对服务器进行操作的话,就只能通过远程管理的方式来对我们的服务器进行控制了。

目前我们常见的远程管理控制方式主要有以下几种:

RDP(remote desktop protocol)协议  远程桌面协议,我们常用的windows操作系统就是的远程桌面管理就是基于该协议的,更多有关RDP协议的可以查看百度百科 RDP 

telnet  CLI界面下的远程管理工具,因为其历史非常悠久,几乎所有的操作系统都有该工具(telnet在传送数据时是通过明文传输的,没有加密,所以现在几乎都不会使用telnet来进行远程管理了)  telnet

SSH(Secure Shell)协议  CLI界面下的远程管理工具,几乎所有的操作系统都有(区别于telnet,SSH在进行数据传送时会对数据进行加密,所以SSH是比较安全的协议),几乎所有的类UNIX操作系统都是采用SSH来进行远程管理(Linux、BSD、Mac OS等)。  SSH

RFB(Remote FrameBuffer)协议  图形化远程管理协议,VNC(Virtual Network Computing)就是基于该协议的,上面讲的SSH在类UNIX下是CLI界面常用的远程管理方式,那么在类UNIX操作系统中,同样存在图形化的远程管理工具,VNC就是类UNIX系统下常用的图形化远程管理工具

二、SSH

在之前的一篇随笔当中,也详细讲解了SSH的一些基本概念及原理 (Linux学习之CentOS(十四)--初识ssh),在这里将对SSH的一些概念进行补充,以及讲解一些SSH的一些常用命令。

SSH(Secure Shell)协议是Linux、Unix、Mac及其他网络设备最常用的远程CLI管理协议,SSH在对数据进行传送过程中会使用非对称的加密算法来对数据进行加密,以此来保证远程管理数据的安全

SSH2是目前广泛使用的ssh版本,SSH协议是TCP协议,其占用的端口号是 22

我们绝大多数Linux版本默认使用的SSH是openssh,通过 ssh -V 命令可以查看ssh的信息

[root@xiaoluo ~]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

SSH分为服务器端和客户端,对于服务器端,SSH是默认开机启动的,作为常驻服务存在,我们可以通过 service sshd status 命令来查看

[root@xiaoluo ~]# service sshd status
openssh-daemon (pid  1578) is running...

我们可以通过 ssh 命令用以以SSH协议登陆其他主机,因为这里我们的windows是没有默认安装ssh客户端的,所以我这里也是在虚拟机中的 centos 里面远程登录

我们可以通过  ssh [email protected] 命令来进行登陆,root是我们需要登陆的用户名,@后面跟的是我们的ip地址

复制代码
[root@xiaoluo ~]# ssh [email protected]
The authenticity of host '172.25.215.40 (172.25.215.40)' can't be established.
RSA key fingerprint is 53:61:a6:9c:32:92:85:12:1d:97:c9:2c:0c:9b:f6:3e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.25.215.40' (RSA) to the list of known hosts.

[email protected]'s password: 
复制代码

我们看到,当我们输入该命令以后,其会提示我们是否生成一个密钥,因为我们的SSH是加密的,所以我们输入 yes ,此时就会给该远程登录端生成一个加密的密钥,这个密钥是保存在用户家目录下的 .ssh/ 目录中,我们可以看一下里面的内容:

[root@xiaoluo ~]# cat ./.ssh/known_hosts 
172.25.215.40 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwOaEBlkF3n1+m/Dern0+cjoGFUDs68JRnuihDTKckxV1IuEsys1HX/YMp6fzjGzDAKd/dsWS0O9bwEmLgK1q8QobQHqUIp7a6VJe+6e3VCUDNhX6GB848O+xvYcgeZjVvMs37+RUvmy7YwQ9FrM5RLm9/RpAVf08gLHoqCleh1QJ2j33AfBNjsUUkrr4UQ3kKTuIJBnsyFHF9zpXHcgtcqGzgzaF7AfZw85DXC//5+cRNvF2wwXyEhbrYR3x50SG/f7FSqDd0JX8/+eMu3Wnmjv6dFZS7qt9s+nh7LUGqqy1lNncXxECFZa2HiSduWkwIW667LBsNVB1pIba7uBn/Q==

我们看到,其实这里保存的就是我们远程登录管理的一个ssh密钥。使用哪个用户名登陆,就会在该用户家目录下生成有给密钥,我们输入用户密码,就能远程登录上我们的主机了

我们可以通过 ssh [email protected] 命令远程登录到我们的主机,我们有时如果登陆远程主机只是为了执行某条命令,此时我们可以直接在后面跟命令名字即可,例如 ssh [email protected] ls,这样我们就只会登陆远程主机然后执行完命令就返回了

对于其他一些常用的SSH命令,还有 scp 、rsync等这些命令

scp 命令是用以在两台计算机之间进行快速的、加密的数据传输,命令的语法格式为:

scp 源文件 目标地址

例如我们要将当前目录下的 xiaoluo.txt 这个文件复制到 172.25.215.40 这台主机的 /root 目录下,我们可以使用如下命令:

[root@xiaoluo ~]# scp xiaoluo.txt [email protected]:/root/

这样我们的文件就会复制到172.25.215.40 这台主机的 root目录下了,我们还可以为该命令加一些参数,例如 -R 递归、 -p 传输时保留文件权限和时间戳 -C 传输时进行数据压缩等参数。

对于其他一些与SSH相关的命令,我将在后面学习到的时候再详细记录

三、VNC

刚才讲过,VNC(Virtual Network Computing)是一种Linux系统(或者BSD、Mac等)下常用的图形化远程管理工具,使用的是RFB协议

VNC跟SSH一样,也分为客户端与服务器端,我们在需要被远程访问的服务器上安装VNC的服务器端,其他计算机上安装VNC的客户端程序与其进行连接

CentOS 6/RHEL 6中我们使用的是 tigervnc 来作为自带的VNC工具,默认这个工具是没有被安装的,我们如果想要使用VNC服务,就必须根据一下的操作步骤:

①首先我们需要通过 yum 来安装 tigervnc 这个工具

复制代码
[root@xiaoluo ~]# yum install tigervnc-server
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: mirror01.idc.hinet.net
 * updates: centos.ustc.edu.cn
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package tigervnc-server.x86_64 0:1.1.0-5.el6_4.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package               Arch         Version                 Repository     Size
================================================================================
Installing:
 tigervnc-server       x86_64       1.1.0-5.el6_4.1         updates       1.1 M

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 1.1 M
Installed size: 2.9 M
Is this ok [y/N]: y
Downloading Packages:
tigervnc-server-1.1.0-5.el6_4.1.x86_64.rpm               | 1.1 MB     00:16     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : tigervnc-server-1.1.0-5.el6_4.1.x86_64                       1/1 
  Verifying  : tigervnc-server-1.1.0-5.el6_4.1.x86_64                       1/1 

Installed:
  tigervnc-server.x86_64 0:1.1.0-5.el6_4.1                                      

Complete!
复制代码

②安装完 tigervnc-server 服务器端程序以后我们需要对其进行配置,配置文件是 /etc/sysconfig/vncservers 

 

复制代码
[root@xiaoluo ~]# cat /etc/sysconfig/vncservers 
# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own).  You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.  
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see this URL:
# http://kbase.redhat.com/faq/docs/DOC-7028

# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.

# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.

# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
复制代码

 

我们看到,这个配置文件默认是没有任何配置信息的,所以我们如果需要使用VNC服务,就要修改其配置信息:

复制代码
[root@xiaoluo ~]# vi /etc/sysconfig/vncservers 

# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own).  You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.  
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see this URL:
# http://kbase.redhat.com/faq/docs/DOC-7028

# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.

# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.

# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"

VNCSERVERS="1:xiaoluo"  //  在配置文件后面加上这样一条配置,VNCSERVERS="1:xiaoluo" ,后面引号里面的内容代表的就是我要为哪个用户开启服务,1其实就相当于端口号,比如说我要为第一个用户 xiaoluo 开启一个VNC服务,端口号就是1 ,如果还需要为其他用户添加VNC服务,则继续在后面添加,例如  VNCSERVERS="1:xiaoluo 2:root"这样我们就有两个 VNC 服务了,一个是xiaoluo用户登录的,另一个是 root 用户登录的
复制代码

③配置好后,VNC还需要有单独的VNC密码才行,所以我们要对每个启用VNC服务的用户创建单独的VNC密码,通过 vncpasswd 命令(【注意:】必须要切换到该用户才行,否则VNC服务启动不起来):

[root@xiaoluo ~]# su - xiaoluo
[xiaoluo@xiaoluo ~]$ vncpasswd 
Password:
Verify:

④为用户设置好单独的VNC密码后,我们这个时候启动 vncserver 这个服务

复制代码
[root@xiaoluo ~]# service vncserver start
Starting VNC server: 1:xiaoluo xauth: (stdin):1:  bad display name "xiaoluo:1" in "add" command

New 'xiaoluo:1 (xiaoluo)' desktop is xiaoluo:1

Creating default startup script /home/xiaoluo/.vnc/xstartup
Starting applications specified in /home/xiaoluo/.vnc/xstartup
Log file is /home/xiaoluo/.vnc/xiaoluo:1.log

                                                           [  OK  ]
复制代码

⑤我们通常需要将iptables关闭或者将其里面的规则清空,或者在iptables里面加上一条规则,否则不能通过vnc客户端来远程登录vnc服务端

[root@xiaoluo ~]# iptables -F  //  清空我们的iptables

这个时候我们的VNC服务器端就配置好了,接下来我们就可以通过安装VNC客户端来远程登录了,对于VNC客户端程序,其在Linux、Mac、Windows等操作系统平台上都有客户端程序,我这里下载的是 windows 的vnc客户端来远程登录我们的CentOS服务器主机,下载地址如下:VNC客户端下载地址 

下载完以后我们点击安装,安装过程中提示要我们进行注册,我们去其官网注册以后,然后将注册码填上去就行了,然后启动我们的VNC客户端程序,界面如下:

在VNC Server这里输入我们要远程登陆的主机IP,【注意:】(这里要写上IP以及端口号,还记得我们刚才在VNC服务器端配置的VNC主配置文件吗?没错,我们为每一个需要开启VNC的服务都自己定义了一个端口号,比如说刚才1端口号就是以 xiaoluo 用户登录),然后点击Connect

这里会提示我们需要连接到 172.25.215.40:1 这台主机上,我们点击Continue即可:

 

这个时候提示我要我输入端口号为1这个用户的密码,注意这个密码是我们上面创建的个人用户的 VNC 密码,输入完点击OK

 

 

 

这个时候我们发现我们已经以GUI的方式远程登录到了我们的CentOS主机上了,这里要求我们输入 root 用户的密码,我们输入密码授权即可,然后点击Authenticate(第一次远程登录会提示让我们输入root密码进行授权,以后再登陆时就不需要输入root密码了)

 

此时我们发现,我们已经通过图形界面远程登录到我们的主机上了,我们可以在里面进行任何权限范围内的操作了,就跟直接使用服务器一样

 

这次,本篇随笔就告一段落了,本篇随笔主要讲解了远程管理的基本概念,以及Linux下最常用的两种远程管理的方式,一种只基于CLI命令行模式的SSH,另一种就是基于GUI图形界面模式的VNC!!!

 

标签:VNC,CentOS,SSH,远程管理,Linux,xiaoluo,root,我们
From: https://www.cnblogs.com/outrun/p/17709021.html

相关文章

  • Linux 搭建FTP服务器
    介绍本章主要介绍在Linux中搭建FTP服务器的过程,需要掌握的要点是配置文件的合理配置。  知识点在linux中使用的FTP是vsftpFTP可以有三种登入方式分别是:匿名登录方式:不需要用户密码本地用户登入:使用本地用户和密码登入虚拟用户方式:也是使用用户和密码登入,但是该用户......
  • CentOS、Ubuntu、Debian三个linux比较异同
    Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本。商业版本以Redhat为代表,开源社区版本则以debian为代表。这些版本各有不同的特点,在不同的应用领域发挥着不同的作用,不能一概而论。而绝大多数VPS上只提供开源社区维护的发......
  • Linux静态库生成指南
    Linux上的静态库,其实是目标文件的归档文件。在Linux上创建静态库的步骤如下:写源文件,通过 gcc-cxxx.c 生成目标文件。用 ar 归档目标文件,生成静态库。配合静态库,写一个使用静态库中函数的头文件。使用静态库时,在源码中包含对应的头文件,链接时记得链接自己的库。下面......
  • Linux五种IO模型
    Linux五种IO模型转载:http://blog.csdn.net/jay900323/article/details/18141217   Linux五种IO模型性能分析 目录(?)[-]概念理解Linux下的五种IO模型阻塞IO模型非阻塞IO模型 IO复用模型信号驱动IO异步IO模型个IO模型的比较selectpollepoll简介1.概念......
  • 欢迎来到小码哥的博客 博客搬家啦 blog.ma6174.com 西邮Linux小组免试题揭秘
    还记得东京大学情报理工学系的招生海报吗?只要答对了问题,然后你就被录取了。当时可火了,人人和微博疯狂转载。如今西邮Linux小组也搞了个这样题目,只要你能答对,就能免试进入西邮Linux小组!感觉挺好玩,遂挑战一把。题目原文在这里:http://www.xiyoubbs.com/thread-81454-1-1.html第......
  • 私人订制——属于你自己的Linux
    私人订制——属于你自己的Linux一、前言Linux操作系统至1991年10月5日诞生以来,就其开源性和自由性得到了很多技术大牛的青睐,每个Linux爱好者都为其贡献了自己的一份力,不管是在Linux内核还是开源软件等方面,都为我们后来人提供了一个良好的学习和研究环境。本文主要通过......
  • 发布《Linux工具快速教程》
    发布《Linux工具快速教程》阶段性的完成了这本书开源书籍,发布出来给有需要的朋友,同时也欢迎更多的朋友加入进来,完善这本书;本书Github地址:https://github.com/me115/linuxtools_rst在线阅读缘起Linux下有很多命令行工具供我们使用,每个工具总是提供了大量参数供我们选择;实际工......
  • 查看linux系统常用的命令,Linux查看系统配置常用命令
    一、linuxCPU大小 cat/proc/cpuinfo|grep"modelname"&&cat/proc/cpuinfo|grep"physicalid"  说明:Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。其实应该通过PhysicalPr......
  • Linux学习之CentOS(二十四)--Linux软件管理之YUM软件管理
     您可以通过点击右下角的按钮来对文章内容作出评价,也可以通过左下方的关注按钮来关注我的博客的最新动态。如果文章内容对您有帮助,不要忘记点击右下角的推荐按钮来支持一下哦如果您对文章内容有任何疑问,可以通过评论或发邮件的方式联系我:501395377@qq.......
  • Linux教材第九章学习笔记——I/O库函数
    C语言文件操作内容复习 cd..  返回上级目标文件: ./  执行文件:对文件内容进行修改,在vim命令行输入wq保存后返回: gcc编译后输入./a.out可显示出c文件运行结果: 编译预处理: 编译: 汇编: 用字符方式逐个打印hello.c;打印十六进制文件: I/O库函数知识......