以下内容出自《Red Hat Linux服务器配置与应用》第17章:Telnet、SSH和VNC服务的配置与应用。俗话说:“前人栽树,后人乘凉”。我懒得再照书本打一遍了,就从这里拷贝了一份留作参考。
 

Telnet

Telnet是进行远程登录的标准协议,它是当今Internet上应用最广泛的协议之一。它把用户正在使用的终

端或计算机变成网络某一远程主机的仿真终端,使得用户可以方便地使用远程主机上的软、硬件资源。

Telnet服务的安装


Telnet有两个安装包:telnet-server和telnet
telnet-server安装包是服务器端的安装包,telnet是客户端的安装包
一般系统默认都已经安装了这两个包
可以先使用此命令查询:
rpm –q telnet-server
如果没有安装的话可以把RedHat的安装光盘放进去找到rpm包进行安装,也可以去网上下个安装包进行安装
rpm –ivh telnet-server-0.17-31.EL4.2.i386.rpm

启动和停止Telnet服务


Telnet不像其它服务(如HTTP和FTP等)一样作为独立的守护进程运行,它使用xinetd程序管理,这样不但能提高安全性,而且还能使用xinetd对Telnet服务进行配置管理。
Telnet服务安装后默认并不会被xinetd启用,可以通过修改文件/etc/xinetd.d/telnet将其启用。编辑文件/etc/xinetd.d/telnet,找到语句disable=yes,将其改为disable=no即可。

Telnet服务的配置

1. Telnet服务最大连接数
可以通过编辑文件/etc/xinetd.d/telnet,在花括号{}中添加语句instances=3来配置telnet服务的最大连接数,这里的3指telnet服务同时只允许3个连接。
2. Telnet服务的端口
Telnet服务默认的端口为23,出于安生性考虑,可以更改服务器监听的端口,通过编辑文件/etc/services来修改各个服务的端口,找到telnet选项,修改其数值即可。如要改为2323,即:
telnet    2323/tcp
telnet    2323/udp

Telnet客户端的使用

通过telnet命令即可登录
如Telnet服务器的IP地址为192.168.1.109
在客户端(windows和linux)命令行里输入:telnet 192.168.1.109
然后输入用户和口令即可,在这里,系统不允许root用户通过telnet登录,所以这个用户是除root用户的其它用户,登录后可以使用su – 命令切换成root用户,这样就OK了。

SSH

Telnet协议在带来便利性的同时,也带来了许多安全问题,最突出的就是Telnet协议使用明文的方式传送所有的数据(包括账号和口令),数据在传输过程中很容易被入侵者窃听或篡改所以建议使用更安全的其它的服务
SSH是目前通常使用的远程管理协议,它是一个在应用程序中提供安全通信的协议,通过SS可以安全地访问服务器,因为SSH基于成熟的公钥加密体系,把所有传输的数据进行加密,保证数据在传输时不被恶意破坏、漏露和篡改。

SSH服务的安装


Linux下广泛使用免费的OpenSSH程序来实现SS协议,它同时支持SSH1和SSH2协议
Openssh软件包包括两部分:openssh-server和openssh-client,它们分别打包在不同的RPM包中,同时都需要依赖openssh软件包工作,不用说,都能猜到这两个包的用途了吧
可以使用如下命令检查是否已经安装OpenSSH
Rpm –q openssh-server

SSH服务的配置

配置SSH服务的运行参数,主要是通过修改配置文件/etc/ssh/sshd_config来实现的,这里面的选项特别多,但大部分都是使用#注释的,这是因为SSH服务使用默认配置已经能够很好的工作了
1 设置SSH服务监听的端口号
#port 22
2 设置使用SSH协议的顺序
#protocol 2,1
3 设置SSH服务器绑定的IP地址
#listenaddress 0.0.0.0
4 设置是否允许root管理员登录
#permitrootlogin yes
5 设置是否允许空密码用户登录
#permitemptypasswords no
6 设置是否使用口令认证方式
#passwordauthentication yes
每次修改配置文件/etc/ssh/sshd_config后,都需要重新启动SSH服务才能使新的配置生效。

启动和停止SSH服务

/etc/init.d/sshd start|stop|restart|status

SSH客户端的使用

1 linux客户端
在linux客户端,可以使用命令ssh登录,如果SSH服务器的IP地址为192.168.1.109,
登录命令如下:ssh 192.168.1.109
根据提示输入口令即可,这个口令是root用户的口令,所以登录之后就是root用户身份了。
2 windows客户端
在windows客户端是无法使用ssh命令的,但是有许多SSH客户程序,推荐使用免费的PuTTY程序,它小

巧好用,而且是一款无需安装的绿色软件。
1 连接SSH服务器
运行下载的putty.exe文件,在程序主界面中输入服务器的IP地址或域名,在协议中选择SSH选项,然后单击连接按钮即可连接。
如果是第一次连接到某台服务器,由于服务器公钥没有在注册表中缓存,putty程序会出现的警告信息并显示服务器的指纹信息,点确定即可。
如果成功地连接到SSH服务器,会显示登录信息并提示输入用户名和口令,输入分配的用户名和口令即可。

使用基于公钥的认证

首先由用户生成一对密钥,然后将公钥保存在SSH服务器用户主目录下.ssh子目录中的authorized_keys文件中,私钥保存在本地计算机中,当用户登录时,服务器检查authorized_keys文件是否与用户的私钥对应,如果相符则允许用户登录,否则拒绝用户的登录请求。由于私钥只保存在用户的计算机中,因此入侵者就算得到用户的口令,也不能登录到服务器。

在服务器端启用公钥认证


编辑文件/etc/ssh/sshd_config,找到语句passwordauthentication yes ,将其值改为passwordauthentication no即可。

1 windows客户端


产生密钥
运行下载的puttygen.exe文件,选择加密的算法,推荐选择ssh-2-RSA算法,然后选择加密的位数,推荐用1024位的,然后点击生成按钮,在产生密钥过程中,为了生成一些随机数,应该随意的移动鼠标,生成密钥后,出于安生性考虑,输入保护私钥的口令。然后分别保存私钥和公钥,例如保存的私钥名为private.ppk,公钥名为public.pub,将私钥保存在本地计算机上,将公钥发送到SSH服务器端的/root/.ssh目录下,即/root/.ssh/public.pub,由于puttygen产生的公钥文件格式与openssh程序使用的格式不兼容,因此还可ssh服务器端对其进行转换,转换命令如下:
ssh-keygen -i -f /root/.ssh/public.pub>/root/.ssh/authorized_keys
使用此命令之的即可将公钥文件public.pub转换成openssh使用的格式。

连接SSH服务器

1 运行putty程序,在主机名里输入服务器的IP地址或域名,然后选择左边的连接——SSH——认证,在路径里找到保存的私钥文件,然后单击打开按钮进行连接
2 成功地连接到SSH服务器后,服务器会提示输入登录用户名,如果使用了保护私钥的口令短语,还会提示输入口令短语,登录过程中,不需要输入用户的口令。

2 linux客户端

在linux客户端下,可以使用openssh软件包自带的ssh-keygen程序产生密钥,命令如下:
ssh-keygen -t rsa 
执行后,会提示输入保存的路径和保护私钥的口令短语,默认保存在当前用户主目录下的.ssh子目录中,私钥文件名为id-rsa,公钥文件名为id_rsa.pub
然后传输公钥文件到服务器的用户主目录下的.ssh目录下,并改名为authorized_keys即可
连接SSH服务器
可以直接使用ssh命令连接到ssh服务器
如:ssh 192.168.1.109
,根据提示输入用户名,还有口令短语(如果有的话),即可登录了。

VNC

Telnet和SSH服务只能实现基于字符界面的远程控制,利用VNC可以实现图形化的远程控制。
VNC是virtual network computing的缩写,也就是虚拟网络计算机,VNC软件由两个部分组成:VNC server和VNC viewer,用户需要将VNC server安装在被控制的计算机上,然后在主控制端执行VNC viewer控制被控制端。
可以用如下命令查询VNC服务是否安装
rpm -q vnc-server
如果没有安装,可以用系统的安装光盘找到vnc-server进行安装,好可以去网上下载进行安装。

启动vnc服务

启动vnc服务的命令格式为:vncserver : 桌面号,其中桌面号用数字表示,每个用户需要占用一个桌面,如果启动桌面号为1的桌面可以执行如下命令:
vncserver :1
vnc服务使用的TCP端口号从5900开始例如桌面号为1,则使用的端口号为5901,桌面号为2,则使用的端口号为5902,以此类推,基于java的vnc客户程序web服务TCP端口号从5800开始,即5801、5802,以此类推

配置多个桌面号

如果需要多个用户同时连接到VNC,可以多次执行vncserver命令,并将桌面号从:1改为:2、:3,以此类推。
使用vncserver命令创建的桌面号会在服务器重新启动后失效,服务器每次启动完都需要重新建立,这样很不方便,可以将它们添加到配置文件/etc/syscofnig/vncserver中,格式为:
vncserver=“1:root”
vncserver=“2:tom”
添加完成后,vnc服务每次启动时都会自动创建这些桌面号。

启动和停止vnc服务

可以使用如下命令:
service vncserver start|stop|restart|status

vnc客户端的配置

1 linux客户端
在linux客户端,可以通过安装vnc viewer来动进行连接,安装方法和vnc server相似,安装好之后在附件里打开vnc viewer,输入IP地址或域名和桌面号,单面连接即可进行连接了。
2 windows客户端
在windows客户端,可以通过浏览器直接进行连接,例如vnc服务器的IP地址为192.168.1.109,可以在浏览器里输入IP地址加端口号进行连接:
192.168.1.109:5801
表示连接ip地址为192.168.1.109的vnc服务器的1号桌面。
也可以通过程序进行连接,推荐使用TightVNC程序,它包括了vnc客户和vnc服务器程序。
其安装方法比较简单,不再多说了,输入vnc服务器的IP地址或域名和桌面号之后,点击连接,输入访问口令进行登录之后就可以在windows下以图形化的方式远程控制linux了。

Telnet、SSH和VNC的更多相关文章

  1. RPi 2B Android telnet ssh

    /*********************************************************************** * RPi 2B Android telnet ssh ...

  2. Different between Telnet/SSH/FTP

    http://www.differencebetween.net/category/technology/protocols-formats/ Telnet vs SSH Secure Shell, ...

  3. Telnet/SSH 客户端

    一.WinSCP linux 与 windows 间传递文件.可以与 putty 配合使用. 官网提供便携版下载:https://winscp.net/eng/downloads.php 支持中文,语 ...

  4. Telnet、SSH和VNC 区别

    Telnet Telnet是进行远程登录的标准协议,它是当今Internet上应用最广泛的协议之一.它把用户正在使用的终 端或计算机变成网络某一远程主机的仿真终端,使得用户可以方便地使用远程主机上的软 ...

  5. Linux --remote (ssh and VNC)

    远程管理 与个人计算机不同,服务器一般都是运行IDC机房中,所以我们通常不会接触到服务器硬件,而是通过各种远程管理方式对服务器进行控制. 常见的远程管理工具方式: -RDP(remote deskto ...

  6. TCP/IP TELNET & SSH

    快速导航 远程登录示例 关于远程登录? 嵌入? 用来控制远程服务器上运行的应用程序字符? 转义? 操作方式? 关于SSH? 远程登录示例 关于远程登录? 网络虚拟终端(Network Virtual ...

  7. 树莓派3B+通过路由器进SSH和VNC

    1.打开树莓派官网 www.raspberrypi.org 选择 ”Raspbian Stretch with desktop and recommended software“ 并下载 镜像包含推荐 ...

  8. ASA5520远程配置 telnet,ssh

    telnet配置: ASA5520(config)# passwd asa5520 //创建用户模式密码ASA5520(config)# enable password asa5520 //创建特权模 ...

  9. ping telnet ssh netstat

    1.pingping命令工作在OSI参考模型的第三层-网络层.ping命令会发送一个数据包到目的主机,然后等待从目的主机接收回复数据包,当目的主机接收到这个数据包时,为源主机发送回复数据包,这个测试命 ...

随机推荐

  1. windows各种程序中文显示乱码又找不到原因时

    我电脑上的各种程序,如xshell,Navicat for MySQL都不正常显示中文,该软件的编码,utf-8,gbk,gb2312来回切换好几回,没一次正常,最好解决办法如下       进入控制 ...

  2. div模拟的下拉框特效jquery

    从网上找来的,感觉不错就拿来分享下 <style type="text/css"> body, ul, li { margin: 0; padding: 0; font ...

  3. ARM指令协处理器处理指令

    ARM支持16个协处理器,在程序执行过程中,每个协处理器忽略属于ARM处理器和其他协处理器指令,当一个协处理器硬件不能执行属于她的协处理器指令时,就会产生一个未定义的异常中断,在异常中断处理程序中,可 ...

  4. C++调用Matlab引擎及Eigen配置

    这个周开始要着手实现网格水印的代码了,虽然还什么都不会,但也只能一步步摸索着往前走了. 我要实现的论文题目是<<Watermarking 3D Polygonal Meshes in th ...

  5. oracle检查点checkpoint信息

    1.关于checkpoint的概述 checkpoint是oracle在数据库一致性关闭.实例恢复和oracle基本操作中不可缺少的机制,包含以下相关的含义: A.检查点的位置(checkpoint ...

  6. Dictionary<实体,List<实体>>的比较

    当Dictionary中Key为实体时,进行用ContainsKey比较会发现,就算Model为一样但是结果比较为不存在: 故用以下代码即可,现将Keys转换ToArray(),再用数组的Contai ...

  7. HDU-4742 Pinball Game 3D 三维LIS

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4742 题意:求3维的LIS.. 用分治算法搞得,参考了cxlove的题解.. 首先按照x排序,然后每个 ...

  8. 将大数据利用 BCP 导出SqlServer数据到CSV

    --导出数据 --BCP [数据库]..[数据库表] out "d:\abc.csv" -c -t "|" -T bcp "SELECT * FROM ...

  9. 关于ORACLE的硬解析和软解析与MySQL的查询缓存query_cache探讨

    今天在项目中探讨到Oracle对于SQL语句的解析方法以及MySQL相应的处理方法: --------------------------------------------------------- ...

  10. NLog 錯誤小記

    IISExpress使用NLog遇到寫入權限錯誤,特記錄下來: NLog配置文件中指定FileName時需要指定為當前目錄,如不指定會產生 拒絕訪問 錯誤, 估計為不指定當前目錄時會將文件寫入iise ...