什么是SSH?
SSH 为Secure Shell的缩写,是一种网络安全协议,可用于计算机之间的加密登录。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。 传统的网络服务程序,如:Ftp、pop和Telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。通过使用SSH,可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。 SSH协议可用于大多数的 UNIX 操作系统中,能够实现字符界面的远程登录管理,默认使用 22 端口,采用密文的形式在网络中传输资源,相对于通过明文传输的 Telnet 协议,具有更高的安全性。SSH登录原理
SSH 提供了基于账户密码和密钥对两种登陆验证方式,这两者都是通过密文传输数据的。 账户密码验证过程:Client → Server:连接请求
Server → Client:发送公钥
Client → Server:用公钥将密码信息加密,发送
Server → Client:用密钥解密并验证消息,信息合法则建立连接通讯账户密码登录
Client → Server:发送连接请求,并将公钥发送;
Server → Client:验证本地公钥和发送过来的公钥,如果两钥相同,生成一段 challenge 并将公钥加密,回送 ;
Client → Server:用私钥解密,再 challenge 返回给服务器
Server → Client:验证两端 challenge,相同则建立连接
SSH基本用法
在 Linux 系统上 SSH 是非常常用的工具,通过 SSH Client 我们可以连接到运行了 SSH Server 的远程机器上。 SSH的安装 非常简单,在linux下只需一行命令sudo apt-get install openssh-server
SSH Client 的基本使用方法
ssh user@remote -p port
user 是你在远程机器上的用户名,如果不指定的话默认为当前用户
remote 是远程机器的地址,可以是 IP,域名,或者是后面会提到的别名
port 是 SSH Server 监听的端口,如果不指定的话就为默认值 22
SSHFS
SSHFS ( SSH Filesystem )是一个通过SSH连接到服务器的 网络文件系统客户端 。 该种客户端通过SSH文件传输协议(SFTP)与远程文件系统交互,这是一种通过任何可靠数据流提供文件访问、文件传输和文件管理功能的网络协议,它在设计上是Secure Shell(SSH)协议2.0版的一个扩展。可使用SFTP挂载远程文件系统。 使用方式sshfs [user@]hostname:[directory] mountpoint
mountpoint为挂载点,必须归用户所有。如果省略用户名,SSHFS将使用本地用户名。如果省略目录,SSHFS将挂载(远程)主目录。
卸载文件系统:
fusermount -u mountpoint
ENJOY IT!