如何ssh到虚拟机linux服务器配置

安装OpenSSH,生成密钥,配置网络,使用ssh 用户名@IP -p端口连接

以下是通过SSH连接到虚拟机Linux服务器并进行配置的详细指南,涵盖从环境准备到安全优化的全流程:

如何ssh到虚拟机linux服务器配置

前置条件与网络配置

  1. 虚拟机网络模式选择
    需根据实际需求设置虚拟机的网络连接方式,常见模式对比如下表:

    网络模式 特点 适用场景
    桥接模式 虚拟机直接接入物理网络,拥有独立IP地址 需与主机在同一局域网内访问
    NAT模式 通过主机共享网络,虚拟机IP与主机隔离 跨网段访问(需端口转发)
    仅主机模式 虚拟机与主机内部通信,不接触外部网络 完全隔离的测试环境

    注意:若需外部设备直接访问虚拟机,优先选择桥接模式。

  2. 获取虚拟机IP地址

    • 在虚拟机内执行命令 ip addr showifconfig,记录网卡(如eth0)对应的IPv4地址。

SSH服务安装与配置

  1. 确认SSH服务状态

    • 执行命令 systemctl status sshservice ssh status,若未安装则会提示找不到服务。
    • 若未安装,通过 sudo apt install openssh-server(Debian/Ubuntu)或 sudo yum install openssh-server(CentOS)安装。
  2. 配置SSH服务参数

    • 编辑配置文件 /etc/ssh/sshd_config,关键参数建议:
      • Port 22(可自定义非22端口提升安全性)
      • PermitRootLogin no(禁用root直接登录)
      • PasswordAuthentication no(强制使用密钥认证)
    • 修改后执行 sudo systemctl restart ssh 使配置生效。

SSH连接操作

  1. 基本连接命令

    如何ssh到虚拟机linux服务器配置

    ssh 用户名@服务器IP地址 -p 端口号
    • 示例:ssh ubuntu@192.168.1.100 -p 22
    • 输入密码后即可登录(若启用密钥认证则无需密码)。
  2. SSH密钥认证配置(推荐)

    • 生成密钥对(本地终端执行):
      ssh-keygen -t rsa -b 4096 -C "your_comment"

      按提示保存文件(默认路径:~/.ssh/id_rsa)。

    • 将公钥传输至虚拟机
      ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@服务器IP

      此操作将公钥写入虚拟机的 ~/.ssh/authorized_keys 文件。

    • 验证免密登录:直接执行 ssh 用户名@服务器IP,若无需密码即成功。

权限管理与安全优化

  1. 限制允许登录的用户

    • 编辑虚拟机的 /etc/ssh/sshd_config,添加:
      AllowUsers 用户名
    • 重启SSH服务后,仅指定用户可通过SSH登录。
  2. 禁用密码认证

    • sshd_config 中设置 PasswordAuthentication no,防止暴力破解。
  3. 防火墙配置

    如何ssh到虚拟机linux服务器配置

    • 若虚拟机启用防火墙(如ufw),需允许SSH端口:
      sudo ufw allow 22/tcp
    • 自定义端口(如2222)需替换上述命令中的数字。

SELinux安全策略(可选)

若系统启用SELinux,需执行以下命令放行SSH:

sudo setsebool -P ssh_sysadm_login 1

常见问题与解决

  1. 无法连接且端口正常

    • 检查虚拟机是否安装SSH服务(sudo apt install openssh-server)。
  2. 密钥认证失败

    • 确认虚拟机内 ~/.ssh 目录权限为 700,且 authorized_keys 文件权限为 600
      chmod 700 ~/.ssh
      chmod 600 ~/.ssh/authorized_keys

相关问答FAQs

  1. 问:如何修改SSH默认端口号?
    答:编辑 /etc/ssh/sshd_config 文件,将 Port 参数改为其他数字(如2222),重启SSH服务后需通过新端口连接,注意防火墙需同步开放新端口。

  2. 问:为什么SSH密钥认证后仍提示权限不足?
    答:可能是密钥文件权限过宽,需确保私钥文件(如~/.ssh/id_rsa)权限为 600,公钥文件(~/.ssh/authorized_keys)权限为 600,且 .ssh 目录权限为 700

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

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月19日 12:56
下一篇 2025年7月19日 13:01

相关推荐

  • linux 如何自动检测网卡硬件改变

    Linux中,可使用kudzu命令自动检测网卡硬件改变,该命令会检测当前硬件并与数据库对比,确定硬件是否添加或移除,还能更新数据库

    2025年7月14日
    000
  • 如何查看linux是否安装tftp

    Linux中,可通过命令rpm -qa | grep tftp(RPM系统)或dpkg -l | grep tftp(Debian系统)查看是否安装tftp。

    2025年7月12日
    000
  • 怎样安装RedHat Linux系统?

    安装Red Hat Linux需准备安装介质(如U盘或DVD),启动计算机进入安装程序,选择语言、时区、键盘布局,配置磁盘分区方案,选择软件包组,设置root密码并创建普通用户账户,完成安装后重启即可使用系统。

    2025年6月15日
    000
  • Linux怎样获取时间戳

    在Linux中打印时间戳可使用date命令:,1. 当前时间戳:date +%s 输出Unix时间戳(10位秒级),2. 毫秒级时间戳:date +%s%3N,3. 自定义格式:date +”%Y-%m-%d %H:%M:%S” 输出标准时间格式,4. 文件时间戳:stat -c %y 文件名 查看文件修改时间

    2025年6月23日
    000
  • Linux防火墙状态怎么查

    在Linux中查看防火墙状态,执行以下命令:,1. 使用 systemctl status firewalld(Firewalld),2. 或 sudo ufw status(UFW),3. 或 sudo iptables -L(iptables),若显示”active”或列出规则,则防火墙已开启。

    2025年6月16日
    000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN