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

简介:

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


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


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


rhce7-01

wKioL1Sje-jwHYD0AAKYE5WV3ac524.jpg


rhce7-00

wKiom1SjezTTMgbuAAIWwbkcDxw765.jpg


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


wKioL1Sje-7zOo7BAAFscppDhCQ743.jpg


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

wKiom1Sjez_gMeGaAAE-m7syWT4246.jpg


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


例如

wKioL1Sje_jgtbjmAABsLhCXCBA784.jpg


wKioL1Sje_rAlHAuAACABzQwjZE259.jpg


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


wKiom1Sje0bymTvTAAFx5sMARAo490.jpg


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


wKioL1Sje_6QLn5bAADQRQZHH-c511.jpg


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

wKiom1Sje0rwTMNrAADI2EPtrgg056.jpg


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

wKioL1SjfAKBBzl9AADbsa9omXE753.jpg



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


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


wKiom1Sje1HScbA1AAF5Gu4QVw4749.jpg


看看生成的这一对密钥


wKioL1SjfAeQCtFAAABb4XnNu9w146.jpg


看看具体的内容


首先是私钥,这个保留在本机用来解密


然后是公钥,这个会发送给对方以便加密

wKiom1Sje1iCNZUzAAcVE9V3a-Q051.jpg


通过ssh-copy-id将公钥传送给对方

wKioL1SjfA-zpwLXAAF1MmY9F1k520.jpg


传送完毕之后,直接访问则无需再输入密码

wKioL1SjfBCzxFKaAABdM-gSLVs729.jpg


感兴趣的话还可以看看ssh-copy-id有哪些其他选项

wKiom1Sje2DyNj39AATRX5vYPhI656.jpg


切换到远程主机,看看对方的.ssh目录下生成了一个authorized_key 的文件,打开看看,内容和本机的公钥是一样的。


wKioL1SjfBfA6YJ8AAGV1cwurlk235.jpg


关于公钥,私钥,数据信封,证书等知识我不赘述了,豆子几年前拜读过某人的博客,解释的非常好,这里再转一下

http://www.cnblogs.com/1-2-3/archive/2007/09/17/colloquialism-digital-certificate-part1.html




接下来看看windows下面如何进行访问。豆子平常习惯使用putty或者secureCRT,这里老师推荐的是Xshell。安装完XManager之后,打开Xshell,设定好IP,输入用户名和密码就可以远程访问了。


wKiom1Sje0-iIrSFAAH094MnblE923.jpg


如果在XShell使用密钥,基本过程和Linux类似,依然是生成密钥对,传送公钥到远程主机


点击Tools- New user key Wizard

wKiom1Sje2LTwXoYAAF-wuLeiGQ285.jpg


选择算法和密钥长度

wKioL1SjfBngLMwAAAEfHFJHJvs401.jpg


生成公钥

wKiom1Sje2SSoi18AAFmWt61a2o503.jpg


这个passphrase为了省事其实可以不写

wKioL1SjfBvg3uS4AAEK3KFL_2M942.jpg


保存公钥,完成

wKiom1Sje2fwuH6lAAGa1f_mt0w219.jpg

wKioL1SjfB6Bmwy2AACLqpFtD9c750.jpg


拷贝公钥到远程主机

wKiom1Sje2rTL0scAADnI8CvC80829.jpg


把这个公钥复制到对应的位置,并修改名字

wKioL1SjfCGDM72RAAFMNdgjmow212.jpg


在XShell里面新建个连接就可以绑定了

wKiom1Sje26DTREMAAFIRWMXiz8521.jpg

wKioL1SjfCfSsZm6AAE7Gvb7mIM604.jpg

wKiom1Sje3KxDOf6AAEN_K4otDg219.jpg


最后我们来看看相关的ssh配置文件。在/etc/ssh目录下,sshd_config可以配置服务器角色的设定;ssh_config可以配置客户端角色的设定; ssh_host* 则是各种指纹文件


wKioL1SjfCrwxj7VAACUAsBZ5Oo886.jpg


比如sshd可以配置是否允许密钥认证,或者密码认证


wKioL1SjgxiwHL_sAAIF-Gx8EEM134.jpg


ssh里面可以配置端口,是否进行严格的密钥确认等等

wKioL1SjgyGxaL_hAAJDaa2nUFo264.jpg



如果想远程访问图形界面,还可以使用vnc,简单的说就是在服务器端安装vnc server,然后客户端安装vnc viewer进行访问;这个是个跨平台的工具,豆子在Windows,OSX和Linux下都经常使用vnc,甚至手机越狱了都是可以用vncviewer远程控制的。


红帽有官方文档具体介绍如何使用VNC工具

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/ch-TigerVNC.html


下面简单的截图演示一下


首先安装tigervnc-server

wKioL1SsbLuDqoqiAABBVqDjKkM562.jpg


拷贝服务文件, 他的默认端口是5900,也可以给不同的用户自定义端口,比如5就表示5905端口

wKiom1Ssa_vi5f-YAABZtoNp79Y613.jpg


修改一下文件,其实就是把用户名绑定这个服务

wKioL1SsbLuDUNWfAAA-jKeX9k8535.jpg


把<user>替换成用户名

wKiom1Ssa_ygOwQdAAHZkBe_bZM505.jpg


添加防火墙

wKioL1SsbLzSE-PBAACICwJ9e7Y277.jpg


开机自动运行,启动服务;有的时候enable之后还需要重启系统才能启动服务。

wKiom1Ssa_2TUG1wAABqg-cYyAI499.jpg


测试,这里我可以用IP:5905或者IP:5都是可以的

wKioL1SsbL2jcjuXAAFFD7qubAg916.jpg


可以看见这个进程是绑定到我的beanxyz用户的

wKiom1Ssa_-RgelkAAMqwH8b9Ho252.jpg


重复以上操作,绑定James端口到5904,登录显示为James

wKioL1SsbL_iAre5AAIE1uyLHIE649.jpg










本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1598056,如需转载请自行联系原作者
目录
相关文章
|
Web App开发 网络协议 网络安全