SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定,SSH 为建立在应用层和传输层基础上的安全协议。
SSH的优点:
SSH的劣势:
Linux 一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的 Linux 服务器,一般远程登陆的方式都是基于SSH,常用的工具有XShell
、MobaXterm
MobaXterm有免费版本,而且免安装比较方便:https://mobaxterm.mobatek.net/
操作系统即使是最小安装ssh默认是已经安装的。默认ssh服务也是开启的。
可以通过命令service sshd status
来查看sshd服务是否开启
查看系统IP:ip addr
发现第二个网卡ens33
并没有分配IP
使用命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33
,进入配置文件进行修改ONBOOT为yes,表示服务启动时自动执行该文件,:wq
保存退出
重启网络服务,命令:service network restart
重启完之后,再次查看IP地址,命令:ip addr
,发现网卡ens33
已经有了局域网IP
连接成功
一般情况下,Windows、Mac、Linux操作系统都内置了ssh
命令
可以使用如下命令来连接目标服务器,如果端口是默认22
,则不需要指定端口-p
ssh -p [port] [username]@[ip]
1、编辑 SSH 配置文件:vi /etc/ssh/sshd_config
2、找到#Port 22
、去掉注释并修改
3、重启SSH服务:service sshd restart
4、配置防火墙,允许新端口访问
这是一个建立在SSH之上的协议,以一种安全的方式有效地传输文件。通过使用该协议,它可以很容易地通过互联网连接安全地移动大量数据。它利用了SSH,使信息交换具有更高的保护水平。
SFTP的优点:
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