您的位置:首页 > 房产 > 家装 > ssh使用详解_ubuntu上安装ssh_window远程连接

ssh使用详解_ubuntu上安装ssh_window远程连接

2025/1/11 12:59:00 来源:https://blog.csdn.net/sangyongqi/article/details/140729171  浏览:    关键词:ssh使用详解_ubuntu上安装ssh_window远程连接

文章目录

      • 前言
      • 安装
      • 配置OpenSSH(安全性)
      • 检查防火墙设置
      • 通过 SSH 连接Ubuntu
      • SSH故障排查

前言

Secure Shell (SSH) 是一种网络协议,允许用户通过加密的通道安全地访问另一台计算机。

安装

sudo apt update                 #更新软件包列表
sudo apt install openssh-server #安装OpenSSH  
ssh -V                          #查看安装好的ssh版本
sudo systemctl status ssh  #查看shh运行状态,看到active (running)则正常

以上安装步骤完成后就可以正常使用,如果还需要其它配置请往下继续。

配置OpenSSH(安全性)

  • 更改 OpenSSH 端口

    sudo gedit /etc/ssh/sshd_config    #打开配置文件
    

    在文件中,把"#Port 22"改成"Port 2222",2222是自己定义的端口号。

    保存退出,并且重新启动ssh:

    sudo systemctl restart ssh
    
  • 限制使用 SSH 登录尝试次数

    sudo gedit /etc/ssh/sshd_config    #打开配置文件
    

    在文件中,把"#MaxAuthTries 3"中的#号去掉,该参数后的数字就是限制用户在一次 SSH 会话中尝试登录的次数。

    保存退出,并且重新启动ssh:

    sudo systemctl restart ssh
    
  • 禁止 SSH 以 root 身份连接

    sudo gedit /etc/ssh/sshd_config    #打开配置文件
    

    在文件中,把"#PermitRootLogin yes"改成"PermitRootLogin no",SSH 将不再允许直接使用 root 用户登录。

    保存退出,并且重新启动ssh:

    sudo systemctl restart ssh
    

检查防火墙设置

确保Ubuntu防火墙允许SSH连接。默认情况下,SSH使用22号端口。你可以使用以下命令来允许端口通过Ubuntu防火墙:

sudo ufw allow ssh            #允许端口通过防火墙,没有更改端口号使用这个
sudo ufw allow 端口号/tcp      #允许端口通过防火墙,如果更改了端口号使用这个
sudo ufw enable               #启用防水墙
sudo ufw status               #检查防火墙状态
sudo ufw disable              #关闭防火墙

通过 SSH 连接Ubuntu

  • 远程终端软件连接 Ubuntu(以 MobaXterm 为例)

    选择”session–>ssh–>create or manage credentials(点击小人)–>设置用户名和密码–>设置Remote host(远程服务器IP地址)–>Specify username打勾,选择刚刚创建的账号–>设置端口号->点击OK“

  • CMD 窗口连接 Ubuntu

    打开window系统的终端,快捷键:win+r

    ssh username@remote_host             #远程连接服务器,端口是22的使用
    ssh -p port_number username@remote_host #远程连接服务器,端口是自定义
    ssh -p 2222 grayson@192.168.31.90   #远程连接服务器,实例
  • VS Code 连接 Ubuntu

    参考:VS Code 远程连接 SSH 服务器_vs code ssh-CSDN博客

  • 公钥认证(建议)

    为了增强安全性,你可以配置SSH使用密钥对而不是密码来认证。首先,在客户端机器上生成一个SSH密钥对:

    ssh-keygen
    

    然后将公钥复制到服务器上的~/.ssh/authorized_keys文件中:

    ssh-copy-id username@server-ip-address
    

    之后,你就可以在没有密码的情况下安全地登录服务器了。

SSH故障排查

  1. 网站连接是否正常

    ping -c 4 <server_ip>  
    ping <server_ip>  
    
  2. 确认SSH服务运行正常

    sudo systemctl status ssh   #检查ssh运行状态
    sudo systemctl start ssh    #启动ssh
    
  3. 检查 SSH 配置文件

    确保 SSH 配置文件 /etc/ssh/sshd_config 中的设置正确。特别关注 PortPermitRootLoginMaxAuthTries 等参数是否设置为预期值。

    Port:端口号

    PermitRootLogin:是否允许远程root登陆

    MaxAuthTries:远程登陆失败尝试次数

  4. 检查防火墙设置

    sudo ufw status   #查看自己定义的端口有没有允许通过
    
  5. 查看系统日志

    检查系统日志以查找与 SSH 相关的任何错误消息。系统日志通常存储在 /var/log 目录下,可以查看 /var/log/auth.log 或 /var/log/syslog 文件。

  6. 检查 SSH 配置的完整性

    sudo sshd -t
    

    如果输入命令后,没有显示任何信息,则表示配置正确。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com