linux 如何ssh

在Linux中使用SSH远程连接服务器,需安装openssh-client(通常已预装),执行命令ssh 用户名@服务器IP地址;若端口非默认22,则加-p 端口号参数。

SSH基础操作

安装SSH

  • 客户端安装(通常预装):
    sudo apt install openssh-client  # Debian/Ubuntu
    sudo yum install openssh-clients # CentOS/RHEL
  • 服务端安装
    sudo apt install openssh-server  # Debian/Ubuntu
    sudo yum install openssh-server  # CentOS/RHEL
  • 启用服务
    sudo systemctl enable --now sshd  # 启动并设置开机自启

连接远程服务器

   ssh username@remote_ip  # 基础格式
  • 指定端口(默认22):
    ssh -p 2222 user@192.168.1.100  # 连接非默认端口
  • 首次连接:需接受主机密钥指纹(输入yes确认)。

配置文件优化

编辑 ~/.ssh/config 简化连接:

linux 如何ssh

   Host myserver
       HostName 203.0.113.5
       User admin
       Port 2222

之后直接执行 ssh myserver 即可连接。


密钥认证(更安全)

生成密钥对

   ssh-keygen -t ed25519  # 推荐ed25519算法
  • 默认保存位置:~/.ssh/id_ed25519(私钥)和 ~/.ssh/id_ed25519.pub(公钥)。

上传公钥到服务器

   ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote_ip
  • 或手动追加公钥到服务器的 ~/.ssh/authorized_keys 文件中。

禁用密码登录(提升安全)

编辑服务器上的 /etc/ssh/sshd_config

linux 如何ssh

   PasswordAuthentication no  # 关闭密码登录
   PubkeyAuthentication yes   # 启用密钥登录

重启服务生效:

   sudo systemctl restart sshd

高级技巧

文件传输

  • 从本地上传
    scp file.txt user@remote_ip:/path/to/dest
  • 从服务器下载
    scp user@remote_ip:/remote/file.txt /local/path

端口转发

  • 本地端口转发(访问远程服务):
    ssh -L 8080:localhost:80 user@remote_ip  # 本地8080映射到远程80端口

连接问题排查

  • 调试模式
    ssh -vvv user@remote_ip  # 显示详细日志
  • 检查服务状态
    sudo systemctl status sshd  # 确认服务运行
  • 防火墙放行
    sudo ufw allow 22/tcp  # Ubuntu
    sudo firewall-cmd --add-service=ssh --permanent  # CentOS

安全最佳实践

  1. 修改默认SSH端口
    编辑 /etc/ssh/sshd_config

    Port 2222  # 改为非标准端口
  2. 禁止root登录
    同一配置文件中:

    PermitRootLogin no
  3. 使用Fail2ban防御暴力破解
    sudo apt install fail2ban  # Debian/Ubuntu
    sudo yum install fail2ban  # CentOS/RHEL

SSH是Linux系统管理的必备技能,通过密钥认证、端口修改和配置优化可大幅提升安全性,建议定期更新OpenSSH软件,并监控登录日志(/var/log/auth.log),对于生产环境,务必遵循最小权限原则。

linux 如何ssh

引用说明参考OpenSSH官方文档(openssh.com)、Linux man-pages及服务器安全最佳实践,操作前请备份配置文件,修改关键设置需谨慎。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/39424.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月26日 16:18
下一篇 2025年6月26日 16:21

相关推荐

  • Linux防火墙设置在哪

    Linux防火墙通常是系统级配置,主要工具是iptables(旧版常用)或firewalld(新版如CentOS/RHEL 7+/Fedora),配置文件位于/etc/sysconfig/iptables或通过firewall-cmd命令管理,Ubuntu常用ufw简化配置。

    2025年6月23日
    100
  • 如何在Linux系统中启用22端口?

    在Linux中开启22端口需安装SSH服务,配置防火墙允许TCP 22端口流量,并启动sshd服务,使用ufw或firewalld放行端口后,通过systemctl启用服务,注意修改配置文件后需重启服务,并建议加强安全设置如更改默认端口或使用密钥认证。

    2025年5月29日
    400
  • Linux端口号怎么查

    使用netstat -tuln查看监听端口,ss -tuln更高效,lsof -i :端口号或lsof -i可查端口占用进程,nmap localhost扫描本机开放端口。

    2025年6月19日
    000
  • SUSE如何重装系统?

    准备安装介质后重启进入安装程序,选择全新安装选项,备份数据后格式化目标分区,按向导配置系统设置(语言、时区、用户账户等),完成安装后重启即可使用全新SUSE系统。

    2025年6月15日
    100
  • Linux如何查看用户命令?

    Linux系统显示用户账号主要有三种方法: ,1. 使用 whoami 命令查看当前登录用户名。 ,2. 使用 id 命令查看当前用户的 UID 和所属组信息。 ,3. 查看 /etc/passwd 文件(如 cat /etc/passwd)获取系统所有用户账号的完整列表。

    2025年6月26日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN