Linux笔记之SSH与远程管理
SSH(Secure Shell)是Linux系统中用于远程登录和管理的重要工具。它提供了安全的通信方式,同时支持密钥认证和文件传输等功能。本章详细讲解安装与配置SSH服务、SSH密钥对及其安全性、文件传输工具(scp
、rsync
),以及管理会话工具(screen
、tmux
)。
一、SSH服务安装与配置
1、SSH服务的安装
概念说明
SSH服务由OpenSSH
软件包提供,服务端用于接受连接请求,客户端用于发起连接。
安装命令
-
在基于Debian的系统(如Ubuntu)上:
sudo apt-get install openssh-server
-
在基于Red Hat的系统(如CentOS、Fedora)上:
sudo yum install openssh-server
验证安装
ssh -V
2、SSH服务的启动与配置
启动SSH服务
sudo systemctl start sshd
设置开机启动
sudo systemctl enable sshd
修改配置文件
SSH服务的配置文件位于/etc/ssh/sshd_config
。常用配置项包括:
-
更改默认端口:
Port 2222
-
禁用密码登录(使用密钥认证):
PasswordAuthentication no
重新加载配置
sudo systemctl restart sshd
二、SSH密钥对与安全性
1、生成密钥对
概念说明
SSH密钥对由一个私钥和一个公钥组成,用于取代密码认证,提升安全性。
生成密钥对
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
输出结果示例:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
生成的文件:
- 私钥:
~/.ssh/id_rsa
- 公钥:
~/.ssh/id_rsa.pub
上传公钥到远程服务器
使用ssh-copy-id
命令:
ssh-copy-id user@remote_host
2、使用密钥登录
配置完成后,使用命令登录远程主机:
ssh user@remote_host
三、文件传输工具
1、scp
工具
概念说明
scp
(Secure Copy Protocol)用于通过SSH安全传输文件。
常用命令
-
从本地上传文件到远程:
scp localfile user@remote_host:/path/to/destination
-
从远程下载文件到本地:
scp user@remote_host:/path/to/remote/file localfile
实际操作
运行命令:
scp example.txt user@192.168.1.100:/home/user/
输出结果示例:
example.txt 100% 12KB 120KB/s 00:00
2、rsync
工具
概念说明
rsync
支持增量传输和同步文件,适合大文件和目录传输。
常用命令
-
同步本地目录到远程:
rsync -avz /local/dir user@remote_host:/remote/dir
-
同步远程目录到本地:
rsync -avz user@remote_host:/remote/dir /local/dir
实际操作
运行命令:
rsync -avz /home/user/docs/ user@192.168.1.100:/backup/docs/
输出结果示例:
sending incremental file list
./
file1.txt
file2.txt
四、会话管理工具
1、screen
工具
概念说明
screen
允许用户创建持久会话,即使连接断开,进程仍然运行。
常用命令
-
创建一个新会话:
screen -S mysession
-
恢复会话:
screen -r mysession
-
列出所有会话:
screen -ls
实际操作
运行命令:
screen -S test
断开连接后恢复:
screen -r test
2、tmux
工具
概念说明
tmux
功能类似于screen
,支持窗口分割、快捷键和更灵活的管理。
常用命令
-
启动会话:
tmux new -s mysession
-
分割窗口(水平):
Ctrl-b %
-
分割窗口(垂直):
Ctrl-b "
-
重新连接会话:
tmux attach-session -t mysession
实际操作
运行命令:
tmux new -s work
五、小结
通过本章学习,你已经掌握以下内容:
-
安装与配置SSH服务:
- 使用
openssh-server
提供远程登录支持。 - 修改
/etc/ssh/sshd_config
配置安全参数。
- 使用
-
SSH密钥对与安全性:
- 使用密钥取代密码认证,提升安全性。
-
文件传输:
- 使用
scp
和rsync
在本地与远程之间传输文件和目录。
- 使用
-
会话管理工具:
- 使用
screen
和tmux
管理持久化会话,支持断开后恢复。
- 使用
这些工具和方法能够显著提升远程管理效率,同时提高操作的安全性和灵活性。