【服务器】远程连接选SSH(PUTTY、Finalshell、WinSCP) 还是 远程桌面(RDP、VNC、Xmanager)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
如果你手上没有实体服务器那就可能需要租用服务器提供商的各种类型的服务器。 当租用服务器时不可避免的一个问题就是服务器的远程连接。 通常,我们会使用SSH协议进行连接对应的软件有Finalshell、PUTTY、WinSCP、Xshell等。 而有时我们又想连接服务器的远程桌面进行图形化操作当然这对大部分人来说完全没有必要命令行足够了远程桌面对应的软件有windows远程桌面、Xmanager等。 本文将对这些连接方式、软件、协议进行简要介绍快来看看你的服务器以及你的业务适合哪种连接吧。基于自己使用经验并不包含所有工具/协议 |
目录
一、SSH连接
1.1 SSH协议基础
SSH即Secure Shell安全外壳协议是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议。我们在使用远程登录以及Github服务时就经常接触这个协议了。
SSH 为建立在应用层
基础上的安全协议。SSH 是较可靠专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH
最初是UNIX系统上的一个程序后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix以及其他平台都可运行SSH。
SSH 协议存在以下特征
- 有效防止远程管理过程中的信息泄漏
- 传输 数据加密能够防止DNS和IP欺骗
- 传输 数据压缩加快传输速度。
UNIX 平台系统Linux/MacOS等一般都默认安装了 SSH 客户端直接在终端中使用SSH命令即可Windows 等其它平台则需要手动安装 SSH 客户端较常用的Windows SSH客户端有Putty
、XShell
、Finalshell
等。
查看ssh服务是否开启
netstat -tlp | grep ssh
例
root@CQUPTLEI:~# netstat -tlp | grep ssh
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 1000/sshd: /usr/sbi
tcp6 0 0 [::]:ssh [::]:* LISTEN 1000/sshd: /usr/sbi
启动/停止/重启 ssh服务
sudo /etc/init.d/ssh start
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh restart
SSH服务端配置文件默认为/etc/ssh/sshd_config
可以按需修改默认22
端口等配置。
连接命令
ssh [-options] [user@hostname]
options | 含义 |
---|---|
-p | 指定ssh端口号,默认端口为22 |
-i | 使用指定私钥文件连接服务器免密登录 |
user
远程服务器登录的用户名默认为当前用户hostname
远程服务器地址。可以是IP/域名/别名exit
或logout
命令均可退出当前登录
例
# 以root用户登录192.168.1.196的到ssh服务器
$ ssh root@192.168.1.196
# 以root用户登录到192.168.1.198的ssh服务器使用2222端口
$ ssh -p 2222 root@192.168.1.198
自己指定端口时候注意防火墙设置放行相应的端口。
SSH还有一些高级配置如服务器别名、免密/免秘钥登录等以及更底层的原理本文就不过多介绍了。
接下来简要介绍一下我经常使用的通过SSH协议远程登录服务器的windows软件SSH客户端
1.2 PUTTY
这是我最早使用的SSH客户端。
PuTTY是一个Telnet、SSH、rlogin、纯TCP
以及串行接口连接软件。
较早的版本仅支持Windows平台在最近的版本中开始支持各类Unix平台并打算移植至Mac OS X上。除了官方版本外有许多第三方的团体或个人将PuTTY移植到其他平台上像是以Symbian为基础的移动电话。PuTTY为一开放源代码软件主要由Simon Tatham维护使用MIT licence授权。随着Linux在服务器端应用的普及Linux系统管理越来越依赖于远程。在各种远程登录工具中Putty是出色的工具之一。Putty是一个免费的、Windows x86平台下的Telnet、SSH和rlogin客户端但是功能丝毫不逊色于商业的Telnet类工具。最新的版本为 0.78
PUTTY官网https://www.putty.org/
优点
◆ 完全免费
◆ 在 Windows 9x/NT/2000 下运行的都非常好
◆ 全面支持 SSH1 和 SSH2
◆ 体积很小
◆ 操作简单
如图我用ipv6
地址连接我的vps非常简约就这一个命令行界面。
1.3 WinSCP
WinScp我之前写过一篇文章【WinSCP】强大的可视化远程文件传输 、管理工具
WinSCP官网https://winscp.net/eng/docs/lang:chs
WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。
主要特点就是文件可视化就像操作本机目录一样在本地与服务器之间传输文件很方便。
WinSCP也可以打开服务器的终端像上面的putty那样但不建议这样做应为WinSCP的终端功能和文件可视化功能不能同时操作必须关掉终端后才能可视化操作文件目录。
建议的方式是使用putty打开服务器终端在WinSCP中对服务器中的文件目录进行可视化地操作。
不过这样要打开2个软件没有必要。1.4节中的Finalshell可以完美地解决这个问题。
WinSCP用于主机间的文件传输还是不错的直接从本地的目录左边拖到服务器就行了右边。
1.4 Finalshell
在我用过的SSH客户端里面这应该是最好用的一款了。
地址http://www.hostbuf.com/c/131.html
主要特色
- 云端同步
- 免费海外服务器远程桌面加速
- ssh加速
- 本地化命令输入框
- 支持自动补全
- 命令历史
- 自定义命令参数
直接来看这个界面很多优点就一目了然了。
二、远程桌面
绝大多数情况下使用上面介绍到的终端+可视化目录
就足以胜任我们的工作需求了。
不过偶尔有些需求使用可视化远程桌面操作更方便。
但要注意远程桌面的开销会大很多本机带宽、服务器带宽主要是这个、时延、服务器性能等都对连接质量有很大的影响。我使用一个4M带宽的国内服务器进行远程桌面连接都会有些卡顿不过能用。
考虑一个问题国内服务器带宽昂贵1M带宽与10M带宽价格相差甚远国外服务器可能延迟高。
如果你迫不得已要连接服务器的远程左面请考虑这些因素。如果你有相关的业务可以考虑租用云桌面我体验过阿里云的云桌面还不错。感兴趣的可以去体验下我记得好像可以实用一个月。
2.1 安装图形化用户界面
安装桌面
sudo apt update
sudo apt install ubuntu-desktop
安装rdp
sudo apt install xrdp
sudo systemctl status xrdp
sudo nano /etc/xrdp/xrdp.ini
默认端口是3389若要修改
sudo nano /etc/xrdp/xrdp.ini
查看运行状态
sudo systemctl status xrdp
在防火墙上打开 RDP 端口如果买的国内服务器一般云防火墙都是打开该端口的。
sudo ufw allow 3389
2.2 RDP协议与windows远程桌面连接
远程桌面协议(RDP)
是一个多通道(multi-channel)的协议让使用者(所在计算机称为用户端或’本地计算机’)连上提供微软终端机服务的计算机(称为服务端或’远程计算机’)。
远程桌面是方便windows服务器管理员对服务器进行基于图形界面的远程管理.远程桌面是基于RDP(RemoteDesktopProtocol远程桌面协议)的。
在windows的搜索栏搜索远程桌面
打开即可
打开输入服务器的ip地址点击链接在弹出的界面输入用户名和密码也即是ssh登录的用户名和密码即可。
界面可能与你在本地电脑安装的ubuntu不太一样大同小异了。另外界面是英文的个人感觉没必要安装中文。点击桌面左上角的Activities即可看到程序坞。
未完待续