如何使用Linux远程连接工具
在我们日常管理与维护服务器个过程中,我们都需要使用远程连接工具,今天我们就一同来总结下Linux常用的安全远程连接工具-OpenSSH。
远程登录协议
1、telnet:是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主
机工作的能力。默认使用的是TCP的23号端口,采用C/S架构,在用户登录的过程中传输的信息都是明文信息,安全无法保障,所以不建议用telnet。
2、ssh:为Secure Shell 的缩写,由IETF的网络工作小组所制定;SSH
为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH
协议可以有效防止远程管理过程中的信息泄露问题。默认使用的是TCP的22号端口,也是基于C/S架构,SSH有两个版本v1与v2。
sshv1:基于CRC-32做MAC(消息摘要认证),不安全,强烈建议不使用;
sshv2:基于双方主机的协商选择使用最安全的MAC方式 ,其有如下特点:1、加密机制及MAC机制由双方协商选定;2、基于DH实现密钥交换,基于RSA或DSA实现身份认证;3、客户端通过检查服务器端的主机密钥来判断是否能够继续通信;
OpenSSH简述
OpenSSH 是一组用于安全地访问远程计算机的连接工具。它可以作为rlogin、rsh
rcp以及telnet的直接替代品使用。更进一步,其他任何TCP/IP连接都可以通过SSH安全地进行隧道/转发。OpenSSH
对所有的传输进行加密,从而有效地阻止了窃听、连接劫持,以及其他网络级的攻击。OpenSSH 由 OpenBSD project 维护。
登录过程和使用rlogin或telnet建立的会话非常类似。在连接时,SSH
会利用一个密钥指纹系统来验证服务器的真实性。只有在第一次连接时,用户会被要求输入yes进行确认,之后的连接将会验证预先保存下来的密钥指纹。如果保
存的指纹与登录时接收到的不符, 则将会给出警告。 指纹保存在 ~/ssh/known_hosts中,对于SSHv2指纹,则是
~/ssh/known_hosts2。
默认情况下,较新版本的OpenSSH只接受SSHv2连接。如果能用版本2则客户程序会自动使用,否则它会返回使用版本1的模式。此外,也可以通
过命令行参数-1或-2来相应地强制使用版本1或2。 保持客户端的版本1能力是为了考虑较早版本的兼容性,建议尽量使用版本2。
SSH服务器和客户端工作流程
OpenSSH使用C/S架构:
服务端工具(S):sshd
客户端工具(C):ssh命令、putty、xshell、securecrt、sshshellclient;
OpenSSH客户端组件-ssh
配置文本:/etc/ssh/ssh_config
使用方法:
ssh [username@] host [COMMAND]或 ssh -l username host [COMMAND]
-p PORT:指定远程服务器端口;
-l username:指定登录远程主机的用户,不指定则使用当前用户;
username@:等同于 -l username;
如果设置了COMMAND,表示使用username账户登录远程主机执行一次指定的命令并返回结果,不会停留在远程主机上;
[root@www ~]# ssh 1921680110 #使用root用户登录;
The authenticity of host '1921680110 (1921680110)' can't be established
RSA key fingerprint is 01:2e:43:cc:bc:1d:f1:e5:f0:f4:89:78:74:a9:49:44
Are you sure you want to continue connecting (yes/no) yes #第一次连接,需手动进行确认;
Warning: Permanently added '1921680110' (RSA) to the list of known hosts
root@1921680110's password: #输入远程主机root账户的密码;
Last login: Mon May 11 16:44:52 2015 from 1921680104
[root@mailCentOS6 ~]# #登录成功了,远程主机名为mailCentOS6;
[root@mailCentOS6 ~]# ls #显示远程主机root家目录下的文件;
2sh bootiso installlog sdbmbr test1
anaconda-kscfg crontab installlogsyslog \temp\test
[root@mailCentOS6 ~]# exit #退出登录;
logout
Connection to 1921680110 closed
[root@www ~]# ssh root@1921680110 ls #使用root登录远程主机,执行一次ls命令,返回结果便退出;
root@1921680110's password: #第二次连接,就不需要输入yes了,直接输入密码即可;
2sh
anaconda-kscfg
bootiso
crontab
installlog
installlogsyslog
sdbmbr
\temp\test
test1
[root@www ~]# #看到了吗,我们当前并没有登录在远程主机;
OpenSSH服务器端组件-sshd
配置文件:/etc/ssh/sshd_config(通过修改此文件可以修改ssh的默认监听端口与其他参数)
服务脚本:/etc/rcd/initd/sshd
服务启动|停止|重启:serveice sshd start|stop|restart
脚本配置文件:/etc/sysconfig/sshd
配置参数
# man sshd_config 查看配置参数的说明;
# vim /etc/sysconfig/sshd 通过编辑配置文件来修改配置参数;
#+空格+文字:以此格式开头的行表示改行为注释说明;
#+文字:以此格式开头的行表示可启用选项,不改变则表示使用该选项的默认设置,反之使用设定值“#”要去掉哦!
例:#Port 22 如不去掉#且22不变,表示使用默认的22号端口;
若把#Port 22改成port 7777,表示把sshd的监听端口改成7777;
注意:修改参数与配置后,必须重启服务(service sshd restart)
经常需要修改的参数:
[root@www ~]# cat /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 180 2008/07/02 02:24:18 djm Exp $
# This is the sshd server system-wide configuration file See
# sshd_config(5) for more information
# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented Uncommented options change a
# default value
#Port 22 #修改默认监听的端口;
port 7777 #把sshd的监听端口改成7777;
#AddressFamily any #监听的地址家族,指定是监听在IPV4上还是IPV6上,any表示所有;
#ListenAddress 0000 #指定监听的地址 (0000表示本机的所有地址);
#ListenAddress ::
# Disable legacy (protocol version 1) support in the server for new
# installations In future the default will change to require explicit
# activation of protocol 1
Protocol 2
# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key #使用shhv1用到的主机密钥;
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024 #密钥长度;
# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m #登录宽限期;
#PermitRootLogin yes #是否允许管理员直接登录;
#StrictModes yes
#MaxAuthTries 6 #最大密码输入错误次数;
#MaxSessions 10 #最大会话个数;
#RSAAuthentication yes #是否允许使用RSA机制来认证;
#PubkeyAuthentication yes
#--------中间不长改变的配置参数略----------
Subsystem sftp /usr/libexec/openssh/sftp-server #表示是否启动sftp功能;
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server
sshd认证方式:
1、基于口令的认证;
2、基于密钥的认证;
# ssh-keygen -t rsa 用rsa算法生成密钥,默认密钥为id_rsa(私钥), id_rsapub(公钥)
# ssh-keygen -f /path/to/somefile -P oldpassword 根据现有的密钥文件生成密钥
-f /path/to/somefile: 密钥文件保存在的位置;
-P '': 指定生成旧密钥时使用的密码;
方法一:把本地主机生成的公钥 id_rsapub使用scp复制到远程主机的上,在远程主机使用cat id_rsapub>>ssh/authorized_keys追加该公钥信息,这样就可以实现基于密钥认证的ssh登录;
方法二:# ssh-copy-id -i ssh/id_rsapub USERNAME@HOST
[root@www ~]# ssh-keygen -t rsa #用rsa算法生成密钥;
Generating public/private rsa key pair
Enter file in which to save the key (/root/ssh/id_rsa): #指定密钥存放路径及名称,一般不用
#修改,直接回车;
Enter passphrase (empty for no passphrase): #输入私钥密码;
Enter same passphrase again: #确认输入私钥密码;
Your identification has been saved in /root/ssh/id_rsa
Your public key has been saved in /root/ssh/id_rsapub
The key fingerprint is:
c2:f9:c2:3d:4d:ca:52:39:7a:a7:33:de:42:11:d3:8f root@www99com
The key's randomart image is:
+--[ RSA 2048]----+
| |
| o |
| o o |
| E |
| + S |
| B= |
| =B o |
| ++= |
| o+ |
+-----------------+
[root@www ~]# ssh-keygen -f ssh/id_rsa -P '' #根据现有密钥文件重新生成密钥;
Generating public/private rsa key pair
ssh/id_rsa already exists
Overwrite (y/n) y #提示是否确定要覆盖;
Your identification has been saved in ssh/id_rsa
Your public key has been saved in ssh/id_rsapub
The key fingerprint is:
bf:55:f0:0b:a5:ee:4e:4a:1d:d3:b1:0e:66:ee:55:9b root@www99com
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| o |
| o |
| S O = |
| B oo|
| o +E |
| B |
| o+ |
+-----------------+
#-----使用方法一:实现通过密钥文件完成身份验证(不需要输入密码)-----
[root@www ~]# scp ssh/id_rsapub root@1921680110:/root/ #使用spc命令复制公钥文件到远程
#主机的用户家目录下的ss/路径下;
root@1921680110's password: #输入登录远程主机的密码;
id_rsapub 100% 397 04KB/s 00:00 #提示复制成功;
[root@mailCentOS6 ~]# ls ssh/ #验证确认文件复制成功;
id_rsapub known_hosts
[root@mailCentOS6 ~]# touch ssh/authorized_keys #路径内没有自动验证密钥文件,创建一个;
[root@mailCentOS6 ~]# cat ssh/id_rsapub >> ssh/authorized_keys #把公钥追加到自动验证密钥文件;
[root@www ~]# ssh 1921680110
Last login: Mon May 11 20:45:10 2015 from 1921680111
[root@mailCentOS6 ~]# #OK了,看到了没有,不用输入密码我们就直接可以远程登录了!!
#-----使用方法二:实现通过密钥文件完成身份验证(不需要输入密码)-----
[root@mailCentOS6 ~]# rm -f ssh/authorized_keys #删除原有保存的自动验证密钥文件;
[root@www ~]# ssh-copy-id -i ssh/id_rsapub root@1921680110 #使用命令自动传输生成自动验证密钥文件;
root@1921680110's password:
Now try logging into the machine, with "ssh 'root@1921680110'", and check in:
ssh/authorized_keys #提示生成的文件;
to make sure we haven't added extra keys that you weren't expecting
[root@www ~]# ssh 1921680110 #验证看看是否可以登录;
Last login: Mon May 11 21:02:29 2015 from 1921680111
[root@mailCentOS6 ~]# ls ssh/ #看到了没有,我们现在已经登录到了mailCentOS6这台主机上了;
authorized_keys known_hosts
命令补充
scp: 利用ssh协议在主机之间实现安全文件传输的工具
scp SRC1 DEST
分两种情形:
1、源文件在本机,目标为远程主机
# scp /path/to/somefile USERNAME@HOST:/path/to/somewhere
源可以是目录或文件有多个,目标必须是目录
2、源文件在远程,本地为目标
# scp USERNAME@HOST:/path/to/somewhere /path/to/somewhere
-r: 复制目录时使用(实现递归复制),scp默认不能复制目录;
-p: 保持源文件的元数据信息,包括mode和timestamp
-q: 静默模式,复制过程不显示状态信息;
-p PORT: 指定ssh协议监听的端口(远程主机)。
1、点击开始菜单,在查找框内输入mstsc。
2、系统弹出远程桌面的连接工具框。输入远程服务器的ip地址,点击连接。
3、弹出输入凭证信息菜单栏。
4、点击更多选项,弹出界面中后选择其他账户登录。
5、输入相应的账户和密码,点击连接即可。
一、工具:windows xp 系统、windows 2003 、windows 2008,
二、操作步骤:
1首先打开开始菜单,点击运行。
2然后输入mstsc,确定。
3输入你的服务器IP,点击连接。
4这里选择 是。
5然后就到了登录界面,输入用户名和密码就可以了。
注意事项:
1还可以 所有程序—附件—远程连接桌面也是可以打开。
2用windows xp 和windows 7 都是差不多这样远程的。
1、学习管理系统(LMS)
由于很少或根本没有机会访问物理教室和教科书,教师可能缺乏有效地向学生提供课程资料的方法。学习管理系统(LMS)为教师提供了一种自动化管理,交付和跟踪教育内容的方法。
当今市场上流行的LMS工具包括 Schoology Learning ,Canvas 和 Blackboard Learn。
2、视频会议软件
为了促进更具交互性的学习环境,老师和主管可能希望能够在讲课期间与学生进行实时交互。这不仅可以使学生参与其中,还可以使教师回答他们在上课时可能遇到的任何问题。视频会议工具使教师和学生保持联系并在实时虚拟环境中进行协作。
大学、学院和导师使用的流行的视频会议软件包括 Google EDU ,Zoom 和 Wyzant。国内的龙头软件是网易的有道云会议和腾讯会议。
3、协作软件
在远程学习时,几乎不可能在多个人之间协调任务。协作软件使学生和教师可以相互合作,并方便动手指导。
一些最常用的协作软件工具包括 MURAL,用于学校的 Drawp 和 Loop。
国内最出名的大概是那个惨遭小学生毒手最后在线求饶的“钉钉本钉”,云办公、学习的利器。另外金山文档、石墨文档也是一群人在线编辑一个文档的好工具,很适合在线协同,一起填个表格啥的。
4、远程访问软件
一些学生可能在家用计算机上缺少所需的软件工具(Adobe,Microsoft Office等)。远程访问软件允许学生从自己的设备远程访问和控制学校实验室的计算机。他们可以在远程会话中甚至在 Chromebook 上控制学校计算机,并运行任何学校计算机的软件程序。
当前用于教育的最佳远程访问软件是用于远程实验室的 Splashtop。Splashtop 使学校能够让学生从自己的计算机、平板电脑和移动设备访问 Windows 和 Mac 计算机。
5、远程支持软件
由于远程学习的性质,如果学生和教师在设备方面遇到技术问题,可能很难获得帮助。远程支持软件使 IT 技术人员可以在需要帮助时为任何设备提供帮助。使用远程支持软件来确保您的教师和学生可以快速解决他们的问题,以便他们继续学习。
打开“运行”输入mstsc,然后点击“确定”。
在远程桌面连接页面,输入要远程连接电脑的IP地址。
点击“显示选项”,然后勾选“允许我保存凭据”,再点击“连接”。
等待连接,连接成功后即可在服务器上进行操作。
0条评论