您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 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
# 客户端配置(添加到~/.ssh/config)
ServerAliveInterval 60
ServerAliveCountMax 3
# 服务端配置(修改/etc/ssh/sshd_config)
ClientAliveInterval 60
ClientAliveCountMax 3
ssh-keygen -t ed25519 -a 100 # 更安全的算法
ssh-keygen -t rsa -b 4096 # 兼容性更好的方式
# 安装Google Authenticator
sudo apt install libpam-google-authenticator
# 修改/etc/ssh/sshd_config
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive
# 方法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
# 启用连接复用(添加到~/.ssh/config)
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 1h
# 从远程复制到本地
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
scp -l 1024 user@host:/large/file . # 限制为1Mbps
rsync --bwlimit=1024 -avz user@host:/dir .
rsync --partial --progress -avz user@host:/large/file .
# 将远程3306端口映射到本地13306
ssh -L 13306:localhost:3306 user@host
# 将本地8080暴露到远程服务器的8888端口
ssh -R 8888:localhost:8080 user@host
ssh -D 1080 user@host # 创建SOCKS5代理
# 连接后自动附加tmux会话
ssh -t user@host "tmux attach || tmux new"
# 对多个服务器执行相同命令
for host in host1 host2 host3; do
ssh user@$host "uptime"
done
# 使用pssh工具并行执行
pssh -i -H "host1 host2" -l user "df -h"
ssh -X user@host # 基本X11转发
ssh -Y user@host # 受信任的X11转发
# 修改/etc/ssh/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no
# 只允许特定用户登录
AllowUsers user1 user2
# 只允许特定用户组登录
AllowGroups sshusers
# 生成CA证书
ssh-keygen -f /etc/ssh/ca_key -b 4096
# 配置sshd信任CA证书
TrustedUserCAKeys /etc/ssh/ca_key.pub
ssh -vvv user@host # 三级详细输出
sshd -d -p 2222 # 服务端调试模式
# 显示连接各阶段耗时
time ssh -o "ConnectTimeout=5" user@host "exit"
sshd -t # 测试sshd配置是否正确
sshfs user@host:/remote/dir /local/mountpoint
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@host
eval $(ssh-agent) # 启动agent
ssh-add ~/.ssh/id_rsa # 添加密钥
ssh-add -l # 列出已加载密钥
ssh -C user@host # 交互式会话
scp -C file user@host: # 文件传输
# 修改/etc/ssh/sshd_config
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
# Linux
cat ~/.ssh/id_rsa.pub | xclip -sel clip
# Mac
cat ~/.ssh/id_rsa.pub | pbcopy
sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
who /var/log/wtmp # 查看历史登录
last -i # 显示IP地址
本文介绍的29个SSH技巧涵盖了从基础到高级的各个方面。合理运用这些技巧可以:
建议将常用配置写入~/.ssh/config文件,并定期审查SSH安全设置。对于生产环境,务必启用密钥认证并禁用密码登录。
注意:部分高危操作(如关闭主机密钥检查)仅建议在测试环境使用,生产环境应保持最高安全级别。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。