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的更多相关文章
- RPi 2B Android telnet ssh
/*********************************************************************** * RPi 2B Android telnet ssh ...
- Different between Telnet/SSH/FTP
http://www.differencebetween.net/category/technology/protocols-formats/ Telnet vs SSH Secure Shell, ...
- Telnet/SSH 客户端
一.WinSCP linux 与 windows 间传递文件.可以与 putty 配合使用. 官网提供便携版下载:https://winscp.net/eng/downloads.php 支持中文,语 ...
- Telnet、SSH和VNC 区别
Telnet Telnet是进行远程登录的标准协议,它是当今Internet上应用最广泛的协议之一.它把用户正在使用的终 端或计算机变成网络某一远程主机的仿真终端,使得用户可以方便地使用远程主机上的软 ...
- Linux --remote (ssh and VNC)
远程管理 与个人计算机不同,服务器一般都是运行IDC机房中,所以我们通常不会接触到服务器硬件,而是通过各种远程管理方式对服务器进行控制. 常见的远程管理工具方式: -RDP(remote deskto ...
- TCP/IP TELNET & SSH
快速导航 远程登录示例 关于远程登录? 嵌入? 用来控制远程服务器上运行的应用程序字符? 转义? 操作方式? 关于SSH? 远程登录示例 关于远程登录? 网络虚拟终端(Network Virtual ...
- 树莓派3B+通过路由器进SSH和VNC
1.打开树莓派官网 www.raspberrypi.org 选择 ”Raspbian Stretch with desktop and recommended software“ 并下载 镜像包含推荐 ...
- ASA5520远程配置 telnet,ssh
telnet配置: ASA5520(config)# passwd asa5520 //创建用户模式密码ASA5520(config)# enable password asa5520 //创建特权模 ...
- ping telnet ssh netstat
1.pingping命令工作在OSI参考模型的第三层-网络层.ping命令会发送一个数据包到目的主机,然后等待从目的主机接收回复数据包,当目的主机接收到这个数据包时,为源主机发送回复数据包,这个测试命 ...
随机推荐
- 让Apache支持ASP.NET
Apache是目前广泛使用的一种网络服务器程序,不仅在UNIX/LINUX平台上被大量使用,而且在Windows平台上也有许多站点放弃了IIS 而转向Apache..NET是微软推出的功能强大的开发技 ...
- RockMongo安装使用笔记
下载nginx最新版本下载PHP,5.X版本即可,非线程安全的的,因为nginx用的是fastcgi下载rockmongo最新版本下载php_mongo组件 在rockmongo里的readme里有下 ...
- RPC框架motan: 通信框架netty( 1)
服务器端编程都离不开底层的通信框架,在我们刚学习java的时候,主要接触都是Socket和ServerSocket 的阻塞编程,后来开始了解NIO,这种非阻塞的编程模式,它可以一个线程管理很多的Soc ...
- bzoj 3207 花神的嘲讽计划Ⅰ(哈希法+主席树)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3207 [题意] 给定一个文本串,多次询问K长的模式串是否在文本[l,r]区间内出现. ...
- bzoj 1391 [Ceoi2008]order(最小割)
[题意] 有n个有偿工作选做,m个机器,完成一个工作需要若干个工序,完成每个工序需要一个机器,对于一个机器,在不同的工序有不同的租费,但买下来的费用只有一个.问最大获益. [思路] 对于工作和机器建点 ...
- [LeetCode] #1# Two Sum : 数组/哈希表/二分查找/双指针
一. 题目 1. Two SumTotal Accepted: 241484 Total Submissions: 1005339 Difficulty: Easy Given an array of ...
- SRM 502 DIV1 500pt(DP)
题目简述 给定比赛时间T和n个题目,你可以在任意时间提交题目,每个题目有一个初始分数maxPoints[i],每个单位时间题目的分数将会减少pointsPerMinute[i],即如果在时间t解决了第 ...
- 第三百零七天 how can I 坚持
快放假了,上班也没啥事,感觉也挺累的.明天基本都走了,收拾收拾,准备明天出发.电脑就不带了. 和她聊的还可以,小样,还想当老师,别离开济南就行,我的未来在哪里啊. 晚上炒了白菜,下了乌冬面,明天上午晚 ...
- JavaIO(04)字符流--Writer and Reader
字符流: 常识:在java中一个字符等于两个字节: 操作字符流的两个类:Writer,Reader API文档介绍(Writer): public abstract class Write ...
- 关于INTRAWEB ISAPI DLL发布
怎样将Stand Alone App变为ISAPI Dll? 一是将工程文件中的program改成library,二是将uses里的IWInitStandAlone改成IWInitISAPI,没有该文 ...