SSH 命令汇总

SSH 命令汇总

基本连接命令

# 基本连接
ssh username@hostname

# 指定端口连接 (默认22)
ssh -p port_number username@hostname

# 使用特定私钥文件连接
ssh -i /path/to/private_key username@hostname

# 启用详细模式 (调试用)
ssh -v username@hostname

高级连接选项

# 强制使用IPv4
ssh -4 username@hostname

# 强制使用IPv6
ssh -6 username@hostname

# 压缩传输数据 (慢速网络有用)
ssh -C username@hostname

# 指定加密算法
ssh -c aes256-ctr username@hostname

# 在后台运行 (用于端口转发)
ssh -f -N username@hostname

文件传输

# 从本地复制到远程 (SCP)
scp /local/path/file username@hostname:/remote/path/

# 从远程复制到本地
scp username@hostname:/remote/path/file /local/path/

# 递归复制整个目录
scp -r /local/dir username@hostname:/remote/dir

# 使用rsync同步文件 (更高效)
rsync -avz /local/path username@hostname:/remote/path

端口转发

# 本地端口转发 (本地端口映射到远程服务)
ssh -L local_port:remote_host:remote_port username@gateway_host

# 远程端口转发 (远程端口映射到本地服务)
ssh -R remote_port:local_host:local_port username@remote_host

# 动态端口转发 (SOCKS代理)
ssh -D local_port username@remote_host

SSH配置管理

# 生成SSH密钥对
ssh-keygen -t rsa -b 4096

# 将公钥复制到远程主机
ssh-copy-id username@hostname

# 查看SSH指纹
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub

# 测试SSH配置
ssh -T git@github.com  # 测试GitHub连接

代理和跳板

# 通过跳板机连接目标主机
ssh -J jumpuser@jumphost:jumpport targetuser@targethost

# 使用ProxyCommand通过HTTP代理
ssh -o "ProxyCommand=nc -X connect -x proxyhost:proxyport %h %p" username@hostname

故障排除

# 检查SSH连接问题
ssh -vvv username@hostname

# 清除已知主机中的条目
ssh-keygen -R hostname

# 检查端口是否开放
telnet hostname 22

SSH配置文件 (~/.ssh/config) 示例

Host myserver
    HostName server.example.com
    User myusername
    Port 2222
    IdentityFile ~/.ssh/id_rsa_myserver
    ForwardAgent yes
    ServerAliveInterval 60

使用配置文件中定义的主机别名连接:

ssh myserver
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值