三种登录 Linux 服务器的方式总结

一、账号和密码登录

具体步骤

  1. 打开本地终端(如 Linux 或 Mac 系统的终端,Windows 系统可使用 PuTTY 等工具)。
  2. 输入 ssh username@server_ip 命令,其中 username 是服务器上的用户名,server_ip 是服务器的 IP 地址。
  3. 按下回车键后,系统会提示输入密码,输入正确的密码后按回车键即可登录到 Linux 服务器。

优点

  1. 操作简单直接,对于新用户或临时登录需求,无需复杂的密钥配置过程。
  2. 只要知道用户名和密码,在任何支持 SSH 客户端的设备上都可以进行登录,通用性强。

缺点

  1. 安全性相对较低,密码可能会被暴力破解或在传输过程中被截取。
  2. 每次登录都需要输入密码,对于频繁登录的情况,操作较为繁琐。

二、手动添加要登录到服务器的用户的公钥

具体步骤

  1. 以具有适当权限的用户(如 root 或有 sudo 权限的用户)登录到 Linux 服务器。
  2. 检查并创建 ~/.ssh 目录(如果不存在):mkdir -p ~/.ssh; chmod 700 ~/.ssh
  3. 打开 ~/.ssh/authorized_keys 文件(如果不存在则创建),可以使用文本编辑器(如 vimnano),命令为 vim ~/.ssh/authorized_keys
  4. 将需要登录的用户的公钥内容复制粘贴到 authorized_keys 文件中,保存并退出编辑器。
  5. 设置 authorized_keys 文件的权限:chmod 600 ~/.ssh/authorized_keys
  6. 配置 SSH 服务(可选),确保 sshd_config 文件中 PubkeyAuthenticationyesAuthorizedKeysFile~/.ssh/authorized_keys,然后重启 SSH 服务:sudo systemctl restart sshd(不同系统重启命令可能不同)。
  7. 用户在本地终端使用 ssh username@server_ip 命令即可登录,无需输入密码(前提是本地有对应的私钥)。

优点

  1. 安全性较高,基于密钥对的认证方式,私钥只有用户自己持有,不易被破解。
  2. 无需每次登录都输入密码,提高了登录效率,方便频繁登录的用户。

缺点

  1. 操作过程相对复杂,需要服务器管理员手动添加公钥,对于大量用户管理不太方便。
  2. 如果用户更换设备或丢失私钥,需要重新生成并由管理员添加公钥到服务器。

三、给用户用户名和密码,让他使用 ssh 命令添加自己的公钥方便下次直接用 ssh 登录

具体步骤

  1. 管理员将服务器的用户名和密码提供给用户。
  2. 用户在本地终端生成 SSH 密钥对(如果没有):ssh-keygen -t rsa,按照提示操作即可生成。
  3. 用户使用 ssh-copy-id 命令将本地公钥添加到服务器,命令为 ssh-copy-id username@server_ip,输入服务器密码完成添加。
  4. 之后用户可以直接使用 ssh username@server_ip 命令登录服务器,无需输入密码。

优点

  1. 减轻了管理员的负担,用户可以自行完成公钥的添加操作。
  2. 安全性较高,采用密钥对认证,同时又保留了初始的密码认证方式,作为一种过渡和保障。
  3. 灵活性强,用户可以在自己的设备上方便地管理 SSH 密钥。

缺点

  1. 初始阶段需要提供用户名和密码,存在一定的安全风险,密码可能会被泄露。
  2. 对于不太熟悉 SSH 操作的,可能会在生成密钥和使用 ssh-copy-id 命令时遇到困难。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐