5.Linux ssh远程登录配置及sftp,scp命令
Linux : ssh远程登陆配置及sftp,scp命令
1. 服务端安装与配置
# 挂载安装源
mount /dev/cdrom /mnt# 安装SSH服务
yum -y install openssh openssh-server openssh-clients# 启动服务
systemctl restart sshd
systemctl enable sshd # 设置开机自启
2. 客户端基础连接
ssh 用户名@服务器IP # 基础登录
ssh root@192.168.100.10 # 示例(不支持文件传输)
文件传输操作**
1. SFTP
sftp 用户名@服务器IP # 登录SFTP
> put # 上传(本地→远程)
> get # 下载(远程→本地)
> exit # 退出
put
:先本地文件 → 后远程路径
get
:先远程文件 → 后本地路径
2. SCP
# 上传(本地→远程)
scp /本地/文件 用户名@IP:/远程/路径 # 下载(远程→本地)
scp 用户名@IP:/远程/文件 /本地/路径 # 递归传输目录
scp -r /本地/目录 用户名@IP:/远程/路径
高级功能
1. 图形界面转发
ssh -X 用户名@IP # 启用X11转发(运行GUI程序)
xclock # 测试:显示远程时钟
2. 基于密钥的认证
# 客户端生成密钥
ssh-keygen# 上传公钥到服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@IP# 测试免密登录
ssh 用户名@IP
SSH协议深度解析
1. 核心特性
项目 | 说明 |
---|---|
默认端口 | TCP 22 |
加密方式 | 对称加密(会话密钥) |
组成协议 | 连接协议/认证协议/传输协议 |
认证方式 | 密码认证/密钥认证 |
客户端发送公钥,服务器匹配然后把公钥发送回客户端,客户端再用密钥算法加密发送给服务器,服务器解密匹配后完成会话
安全加固与高级技巧
1. 服务端安全配置
# 修改默认端口(编辑 /etc/ssh/sshd_config)
Port 2222# 禁止密码登录(密钥认证后启用)
PasswordAuthentication no# 限制登录用户
AllowUsers admin01 admin02
2. 客户端优化
# 保持长连接(添加至 ~/.ssh/config)
Host *ServerAliveInterval 60ServerAliveCountMax 3# 端口转发(本地端口映射)
ssh -L 8080:internal.site:80 user@gateway
3. 密钥管理
# 添加密钥到代理
ssh-add ~/.ssh/id_rsa# 多密钥配置(~/.ssh/config)
Host server1HostName 192.168.100.10IdentityFile ~/.ssh/server1_key