一、SSH
SSH,全称Secure Shell,是一种安全的远程登录协议。一般情况下,我们使用SSH远程登录Linux服务器做管理或者开发操作。SSH连接工具有很多,比如Windows下的PuTTY、Xshell等。
ssh username@host
上述代码中,username是服务器的用户名,host是服务器的IP地址或者域名。SSH连接工具会提示输入密码,正确输入后即可登录到远程服务器。
SSH还可以进行密钥认证,这种方式更加安全,因为密码很容易被破解。具体实现步骤如下:
- 在本机生成密钥
- 将本机公钥加入到服务器的authorized_keys文件中
- 使用SSH连接工具连接到服务器,此时无需输入密码
ssh-keygen
ssh-copy-id username@host
ssh username@host
二、SCP
SCP,全称Secure Copy,是基于SSH协议实现的文件传输工具。使用SCP可以将本机的文件复制到远程服务器,或者将远程服务器的文件复制到本机。
SCP命令的格式如下:
scp [options] source_file destination_file
上述命令中,source_file是源文件的路径,destination_file是目标文件的路径。options包括-r(递归复制目录)、-P(指定端口号)等等。
例如,将本机的test.txt文件复制到远程服务器的/home目录下:
scp test.txt username@host:/home
SCP还可以使用通配符进行多个文件的复制。例如,将本机的所有txt文件复制到远程服务器的/home目录下:
scp *.txt username@host:/home
三、SFTP
SFTP,全称SSH File Transfer Protocol,是基于SSH协议的文件传输协议。相比于SCP,SFTP更加强大,可以进行远程文件的查看、编辑、上传、下载等操作。使用SFTP需要使用专门的SFTP客户端工具,比如Linux下的sftp命令,Windows下的WinSCP等。
在Linux终端中,使用sftp命令连接远程服务器:
sftp username@host
连接成功后,会出现SFTP提示符。
sftp>
使用SFTP可以进行文件的上传、下载、查看等操作。例如,将远程服务器的test.txt文件下载到本地:
get /home/username/test.txt
将本地的test.txt文件上传到远程服务器:
put test.txt /home/username
查看远程服务器上的文件:
ls /home/username
四、Tmux
Tmux是一种终端复用工具,可以在同一个终端窗口中同时运行多个终端会话,并且可以在这些会话间自由切换。Tmux的优点在于可以在服务器上保持多个会话,即使网络连接断开,也可以恢复之前的会话。
在Linux上安装Tmux非常简单:
sudo apt-get update
sudo apt-get install tmux
启动Tmux:
tmux
此时会打开一个Tmux会话窗口,Tmux会话的操作和普通终端窗口类似。在Tmux会话中,可以创建多个窗格(pane),每个窗格可以运行不同的命令。
Tmux会话中经常使用的命令:
- Ctrl+b %:在当前窗口中创建一个垂直分割窗格
- Ctrl+b ":在当前窗口中创建一个水平分割窗格
- Ctrl+b z:最大化或最小化当前窗格
- Ctrl+b 方向键:在窗格之间移动
- Ctrl+b d:分离当前会话
- tmux attach -t session-name:重新连接到之前分离的会话
五、Conclusion
通过SSH、SCP、SFTP和Tmux这些连接Linux工具的介绍,我们可以更加高效地进行Linux服务器的管理、开发和部署。这些工具的使用可以让我们在远程操作Linux服务器时更加方便、快捷和安全。