安装Ubuntu和ssh远程连接的设置方式

安装Ubuntu

1.虚拟机设置

前面默认回车,ip自己设置为手动

2.硬盘设置


3.设置用户名

4.ssh远程连接

5.设置root密码

切换至root用户,需要先给root用户设置密码

ssh远程连接普通用户

在Ubuntu安装过程中,如果忘记选择远程连接相关的选项,不用担心,可以在安装完成后手动配置远程连接服务。

以下是详细的补救步骤,针对不同的远程连接方式进行说明:

1. 配置SSH远程连接

检查是否已安装OpenSSH服务

打开终端(可以直接在机器上操作)。

检查是否安装了OpenSSH服务器:

dpkg -l | grep openssh-server

如果没有输出,说明未安装,需要进行安装。

安装OpenSSH服务

更新软件源:

sudo apt update

安装OpenSSH服务器:

sudo apt install openssh-server -y

启动并设置服务开机自启:

sudo systemctl enable ssh
sudo systemctl start ssh

检查SSH服务状态:

sudo systemctl status ssh

检查防火墙设置

确保允许SSH流量通过防火墙:

sudo ufw allow ssh

启用防火墙(如果尚未启用):

sudo ufw enable

测试SSH连接

在另一台设备上使用SSH客户端连接:

ssh 用户名@服务器IP

如果能够连接,说明配置成功。

2. 配置远程桌面(GUI连接)

如果需要图形界面的远程连接,可以配置VNC或RDP服务。

方法一:安装VNC服务器

安装VNC服务(例如TigerVNC或RealVNC):

sudo apt install tigervnc-standalone-server -y

配置VNC密码:

vncpasswd

启动VNC服务:

vncserver

默认会启动在 :1 显示编号,连接时可以使用 <IP地址>:1

方法二:配置RDP(远程桌面协议)

安装XRDP:

sudo apt install xrdp -y

启动XRDP服务:

sudo systemctl enable xrdp
sudo systemctl start xrdp

检查状态:

sudo systemctl status xrdp

通过远程桌面客户端连接(Windows的远程桌面客户端或其他RDP工具)。

3. 动态分配静态IP(可选)

为了方便远程连接,可以设置固定IP地址。

编辑网络配置文件:

sudo vi /etc/netplan/50-cloud-init.yaml #设置网卡的地方,区别去centos,文件名不一定一样

设置静态IP配置,例如:

network:
  version: 2
  ethernets:
    ens33: #网卡名称
      dhcp4: no
      addresses:
        - 192.168.182.99/24   # 静态IP地址
      gateway4: 192.168.182.2  # 网关
      nameservers:
        addresses:
          - 8.8.8.8           # DNS服务器
          - 8.8.4.4

应用配置:

sudo netplan apply

查看状态

sudo systemctl status systemd-networkd

4. 远程连接排错

如果无法连接,可以检查以下内容:

SSH或远程服务是否运行:

sudo systemctl status ssh
sudo systemctl status xrdp

防火墙是否阻止连接:

sudo ufw status

网络是否通畅:

尝试使用 ping:

检查目标IP是否可达:

ping 目标IP

通过以上步骤,无论是SSH远程连接还是图形界面的远程连接,都可以顺利补救并完成配置。

ssh连接root用户

远程连接时,root 用户密码提示错误的问题,通常是因为默认情况下,Ubuntu对root用户的SSH远程登录进行了限制,即使密码正确,也无法通过远程登录。这是出于安全考虑设置的。

以下是解决方法和注意事项的详细步骤:

1. 确认问题来源

本地通过 su - root 登录时,密码正确,说明密码无误。

远程连接时提示密码错误,可能是以下原因:

  • SSH 配置文件禁用了 root 用户远程登录。
  • 可能是输入法问题或密码特殊字符导致误判。
  • 防火墙或其他安全策略阻止了 root 登录。

2. 检查并修改 SSH 配置

默认情况下,SSH 配置文件会禁止 root 登录,你需要修改配置来允许它。

步骤

打开 SSH 配置文件

sudo vi /etc/ssh/sshd_config

找到以下配置项

PermitRootLogin prohibit-password

修改为

PermitRootLogin yes

如果没有该行,可以手动添加。

  • 保存并退出编辑器::wq
  • 重启 SSH 服务
sudo systemctl restart ssh

3. 检查 SSH 登录的身份验证方式

如果配置了仅支持密钥登录,则即使修改了 PermitRootLogin,也无法使用密码登录。

检查 SSH 是否强制使用密钥登录:

/etc/ssh/sshd_config

中,确认以下选项:

PasswordAuthentication yes

如果是 no

则表示只允许密钥登录。修改为:

PasswordAuthentication yes

保存并重启 SSH 服务:

sudo systemctl restart ssh

4. 排查防火墙配置

如果防火墙阻止了 SSH 连接,也可能导致密码输入无效。

检查防火墙状态

sudo ufw status

如果显示 inactive,说明防火墙未启用;如果启用了防火墙,确认是否允许 SSH 流量:

sudo ufw allow ssh

确保防火墙规则生效

sudo ufw reload

5. 确保 SSH 服务正常运行

确认 SSH 服务是否正在运行:

sudo systemctl status ssh

如果未运行,可以启动服务:

sudo systemctl start ssh

6. 安全注意事项

不建议启用 root 用户的远程登录: 启用 root 用户远程登录会带来较大的安全风险,建议创建一个具有 sudo 权限的普通用户进行远程登录。

创建普通用户并赋予 sudo 权限

创建用户:

sudo adduser 新用户名

将用户添加到 sudo 组:

sudo usermod -aG sudo 新用户名

使用普通用户远程登录后,再通过 sudo 执行需要权限的操作。

  • 限制 IP 登录: 如果必须使用 root 远程登录,可以通过防火墙限制仅特定 IP 可以访问 SSH。
  • 使用非默认 SSH 端口: 修改 SSH 端口以减少被扫描攻击的风险。在 /etc/ssh/sshd_config 文件中修改:
Port 端口号(如 2222)

然后重启 SSH 服务,并在防火墙中开放新的端口。