SSH命令使用小技巧有哪些

发布时间:2022-02-19 11:01:31 作者:小新
来源:亿速云 阅读:121
# SSH命令使用小技巧有哪些

SSH(Secure Shell)是系统管理员和开发人员最常用的远程管理工具之一。掌握一些实用技巧可以大幅提升工作效率和安全性。本文将介绍20+个SSH高阶使用技巧,涵盖连接优化、文件传输、隧道代理等实用场景。

## 一、基础连接优化技巧

### 1. 简化常用连接命令
```bash
# 普通连接方式
ssh username@remote_host -p 2222

# 使用~/.ssh/config配置文件简化
Host myserver
    HostName remote_host
    User username
    Port 2222
    IdentityFile ~/.ssh/id_rsa

# 简化后只需执行
ssh myserver

2. 保持长时间连接

# 客户端配置(添加到~/.ssh/config)
ServerAliveInterval 60
ServerAliveCountMax 3

# 服务端配置(修改/etc/ssh/sshd_config)
ClientAliveInterval 60
ClientAliveCountMax 3

3. 快速生成密钥对

ssh-keygen -t ed25519 -a 100  # 更安全的算法
ssh-keygen -t rsa -b 4096     # 兼容性更好的方式

二、高级连接管理

4. 多因素认证配置

# 安装Google Authenticator
sudo apt install libpam-google-authenticator

# 修改/etc/ssh/sshd_config
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive

5. 通过跳板机连接

# 方法1:使用ProxyJump(OpenSSH 7.3+)
ssh -J jump_user@jump_host:port target_user@target_host

# 方法2:配置文件方式
Host target_host
    ProxyJump jump_user@jump_host:port

6. 连接复用控制

# 启用连接复用(添加到~/.ssh/config)
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 1h

三、文件传输技巧

7. 安全文件传输

# 从远程复制到本地
scp -P 2222 user@host:/remote/file /local/dir

# 递归复制目录
scp -r user@host:/remote/dir /local/dir

# 使用rsync增量传输
rsync -avz -e "ssh -p 2222" /local/dir user@host:/remote/dir

8. 限速传输

scp -l 1024 user@host:/large/file .  # 限制为1Mbps
rsync --bwlimit=1024 -avz user@host:/dir .

9. 断点续传

rsync --partial --progress -avz user@host:/large/file .

四、端口转发与隧道

10. 本地端口转发

# 将远程3306端口映射到本地13306
ssh -L 13306:localhost:3306 user@host

11. 远程端口转发

# 将本地8080暴露到远程服务器的8888端口
ssh -R 8888:localhost:8080 user@host

12. 动态SOCKS代理

ssh -D 1080 user@host  # 创建SOCKS5代理

五、会话管理技巧

13. 使用tmux保持会话

# 连接后自动附加tmux会话
ssh -t user@host "tmux attach || tmux new"

14. 批量执行命令

# 对多个服务器执行相同命令
for host in host1 host2 host3; do
    ssh user@$host "uptime"
done

# 使用pssh工具并行执行
pssh -i -H "host1 host2" -l user "df -h"

15. 图形界面转发

ssh -X user@host       # 基本X11转发
ssh -Y user@host       # 受信任的X11转发

六、安全增强技巧

16. 禁用密码登录

# 修改/etc/ssh/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no

17. 限制用户登录

# 只允许特定用户登录
AllowUsers user1 user2

# 只允许特定用户组登录
AllowGroups sshusers

18. 使用证书认证

# 生成CA证书
ssh-keygen -f /etc/ssh/ca_key -b 4096

# 配置sshd信任CA证书
TrustedUserCAKeys /etc/ssh/ca_key.pub

七、故障排查技巧

19. 详细调试模式

ssh -vvv user@host        # 三级详细输出
sshd -d -p 2222           # 服务端调试模式

20. 连接速度测试

# 显示连接各阶段耗时
time ssh -o "ConnectTimeout=5" user@host "exit"

21. 检查配置有效性

sshd -t  # 测试sshd配置是否正确

八、实用小工具

22. sshfs挂载远程目录

sshfs user@host:/remote/dir /local/mountpoint

23. 自动接受新主机密钥

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@host

24. 使用ssh-agent管理密钥

eval $(ssh-agent)         # 启动agent
ssh-add ~/.ssh/id_rsa     # 添加密钥
ssh-add -l                # 列出已加载密钥

九、性能调优

25. 启用压缩

ssh -C user@host          # 交互式会话
scp -C file user@host:    # 文件传输

26. 选择更快加密算法

# 修改/etc/ssh/sshd_config
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com

十、其他实用技巧

27. 从剪贴板复制公钥

# Linux
cat ~/.ssh/id_rsa.pub | xclip -sel clip

# Mac
cat ~/.ssh/id_rsa.pub | pbcopy

28. 快速修改端口

sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config

29. 查看登录用户

who /var/log/wtmp       # 查看历史登录
last -i                 # 显示IP地址

总结

本文介绍的29个SSH技巧涵盖了从基础到高级的各个方面。合理运用这些技巧可以:

  1. 提高日常工作效率
  2. 增强SSH连接安全性
  3. 实现复杂网络环境下的连接
  4. 快速排查连接问题

建议将常用配置写入~/.ssh/config文件,并定期审查SSH安全设置。对于生产环境,务必启用密钥认证并禁用密码登录。

注意:部分高危操作(如关闭主机密钥检查)仅建议在测试环境使用,生产环境应保持最高安全级别。 “`

推荐阅读:
  1. SSH使用技巧
  2. 关于Python的使用小技巧有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ssh

上一篇:udp编程的示例分析

下一篇:Linux中tcpkill如何清除异常tcp连接

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》