跳转到内容

SSH 完整指南

SSH 配置、优化和常见问题解决方案汇总。

编辑 /etc/ssh/sshd_config

UseDNS no

重启服务:

Terminal window
service ssh restart

编辑 /etc/ssh/ssh_config

GSSAPIAuthentication no

重启服务生效。

新安装的 Ubuntu 默认禁用密码登录,报错:

Permission denied (publickey)

编辑 /etc/ssh/sshd_config

# 允许密码认证
PasswordAuthentication yes
# 如需 root 登录
PermitRootLogin yes

重启 SSH 服务:

Terminal window
sudo systemctl restart sshd

通过跳板机连接目标服务器,编辑 ~/.ssh/config

Host jump-server
HostName 192.168.0.1
User root
Port 22
StrictHostKeyChecking no
Host target-server
HostName 192.168.0.2
User admin
Port 22
StrictHostKeyChecking no
ProxyJump jump-server

然后直接:

Terminal window
ssh target-server

将远程服务映射到本地端口:

Terminal window
# 通过 172.23.2.55 跳板机,将 172.19.2.152:3389 映射到本地 33333 端口
ssh -N -f -L 33333:172.19.2.152:3389 [email protected]

参数说明:

  • -N:不执行远程命令
  • -f:后台运行
  • -L:本地端口转发

将本地服务暴露到远程:

Terminal window
# 将本地 8080 端口暴露到远程服务器的 9090 端口
ssh -N -f -R 9090:localhost:8080 user@remote-server