SSH #
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定,SSH 为建立在应用层和传输层基础上的安全协议。
SSH的优点:
- 安全连接: SSH对客户端和服务器之间传输的所有数据进行加密,提供一个安全和私人的连接。
- 远程访问: SSH允许用户从世界任何地方远程访问和控制服务器和设备。
- 认证: SSH支持多种认证方法,包括密码、公钥加密法和双因素认证。
- 多功能性: SSH是一个广泛使用的协议,支持各种应用,包括远程外壳访问、文件传输和端口转发。
SSH的劣势:
- 复杂性: SSH的设置和配置可能很复杂,特别是对于缺乏技术专长的用户。
- 性能: 由于加密和认证的开销,SSH可能比其他协议,如FTP,要慢一些。
- 防火墙问题: SSH可能需要特殊的防火墙配置以允许访问远程服务器和设备。
连接SSH #
Linux 一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的 Linux 服务器,一般远程登陆的方式都是基于SSH,常用的工具有XShell、MobaXterm
MobaXterm有免费版本,而且免安装比较方便:https://mobaxterm.mobatek.net/
使用前提 #
1、服务器开启了SSH服务 #
操作系统即使是最小安装ssh默认是已经安装的。默认ssh服务也是开启的。
可以通过命令service sshd status来查看sshd服务是否开启
2、服务器网络没问题 #
查看系统IP:ip addr
发现第二个网卡ens33并没有分配IP
使用命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33,进入配置文件进行修改ONBOOT为yes,表示服务启动时自动执行该文件,:wq保存退出
重启网络服务,命令:service network restart
重启完之后,再次查看IP地址,命令:ip addr,发现网卡ens33已经有了局域网IP
第三方工具连接 #
连接成功
SSH命令行连接 #
一般情况下,Windows、Mac、Linux操作系统都内置了ssh命令
可以使用如下命令来连接目标服务器,如果端口是默认22,则不需要指定端口-p
ssh -p [port] [username]@[ip]
修改SSH服务端口号 #
1、编辑 SSH 配置文件:vi /etc/ssh/sshd_config
2、找到#Port 22、去掉注释并修改
3、重启SSH服务:service sshd restart
4、配置防火墙,允许新端口访问
SFTP #
这是一个建立在SSH之上的协议,以一种安全的方式有效地传输文件。通过使用该协议,它可以很容易地通过互联网连接安全地移动大量数据。它利用了SSH,使信息交换具有更高的保护水平。
SFTP的优点:
- 安全性: SFTP对客户端和服务器之间传输的所有数据进行加密,提供一个安全和私密的连接。
- 认证: SFTP支持多种认证方法,包括密码和公钥加密法。
- 简单性: SFTP比SSH更容易设置和配置,特别是对于缺乏技术专长的用户。
- 文件管理: SFTP提供文件管理功能,包括在远程服务器上重命名、删除和移动文件的能力。
SFTP的缺点:
- 支持有限: 并非所有的虚拟主机供应商都支持SFTP,而且在某些设备上可能无法使用。
- 速度较慢: 由于加密和认证的开销,SFTP的速度可能比其他协议,如FTP,要慢。
- 功能有限: SFTP的功能比其他文件传输协议(如FTP)少,可能不适合所有的使用情况。
连接SFTP #
由于SFTP是建立在SSH之上的,所以使用前提和SSH一样,端口也是使用SSH的端口。一般情况下,我们使用第三方工具例如XShell、MobaXterm都已经内置了SFTP的功能。
但是某些特殊情况下,可能无法安装使用第三方工具,那么就需要使用sftp命令,这个命令在Windows、Mac、Linux一般都是默认内置的。
#如果连接地址存在 path 并且 path 不是一个目录,那么 SFTP 会直接从服务器端取回这个文件。
#-B: buffer_size,指定传输 buffer 的大小,更大的 buffer 会消耗更多的内存,默认为 32768 bytes;
#-P: port,指定连接的SSH端口号,默认为 22;
#-R: num_requests,指定一次连接的请求数,可以略微提升传输速度,但是会增加内存的使用量。
sftp -P [port] [user_name]@[ip][:path]
#例如
C:\Users\yhgh>sftp -P 22 root@192.168.253.143:/home/
root@192.168.253.143's password:
Connected to 192.168.253.143.
Changing to: /home/
sftp>
连接后,我们会进入sftp的解释器,可以使用help命令查看可用命令
bye Quit sftp
cd path Change remote directory to 'path'
chgrp [-h] grp path Change group of file 'path' to 'grp'
chmod [-h] mode path Change permissions of file 'path' to 'mode'
chown [-h] own path Change owner of file 'path' to 'own'
df [-hi] [path] Display statistics for current directory or
filesystem containing 'path'
exit Quit sftp
get [-afpR] remote [local] Download file
help Display this help text
lcd path Change local directory to 'path'
lls [ls-options [path]] Display local directory listing
lmkdir path Create local directory
ln [-s] oldpath newpath Link remote file (-s for symlink)
lpwd Print local working directory
ls [-1afhlnrSt] [path] Display remote directory listing
lumask umask Set local umask to 'umask'
mkdir path Create remote directory
progress Toggle display of progress meter
put [-afpR] local [remote] Upload file
pwd Display remote working directory
quit Quit sftp
reget [-fpR] remote [local] Resume download file
rename oldpath newpath Rename remote file
reput [-fpR] local [remote] Resume upload file
rm path Delete remote file
rmdir path Remove remote directory
symlink oldpath newpath Symlink remote file
version Show SFTP version
!command Execute 'command' in local shell
! Escape to local shell
? Synonym for help
下载 #
#文件
sftp> get remotePath [localPath]
#目录
sftp> get -r remotePath [localPath]
上传 #
#文件
sftp> put [localPath] remotePath
#目录
sftp> put -r [localPath] remotePath
删除 #
#文件
sftp> rm path
#目录
sftp> rmdir path