logo头像
Snippet 博客主题

阿里云 VPS 开启之路之二

本文于746天之前发表,文中内容可能已经过时。

在客户端来看,SSH提供两种级别的安全验证。

  • 第一种级别(基于密码的安全验证),知道帐号和密码,就可以登录到远程主机,并且所有传输的数据都会被加密。
  • 第二种级别(基于密钥的安全验证),需要依靠密钥,也就是你必须为自己创建一对密钥,并把公有密钥放在需要访问的服务器上。

这里要讨论的ssh密钥认证自动登录正是基于第二种级别的安全验证方式。

  1. 本地创建公钥

    打开终端运行如下命令:

    1
    ssh-keygen -t rsa -f filename -C  'your email@domain.com'
  2. 在 VPS 对应用户目录下新建对应目录

    1
    2
    3
    4
    5
    mkdir ~/.ssh
    chmod 700 ~/.ssh
    cd .ssh
    touch authorized_keys
    chmod 600 authorized_keys
  3. 把生成的公钥复制到VPS 服务,并且合并到authorized_keys

    1
    2
    scp -P port ~/.ssh/*.pub username@hostname:/home/name/.ssh/
    cat *.pub authorized_keys
  4. 快捷登录

    1. 修改 config

      1
      vi ~/.ssh/config  #没有就新建
    2. 添加如下配置文件

      1
      2
      3
      4
      5
      Host vps
      HostName hostname
      IdentityFile ~/.ssh/cert
      Port port
      User username
    3. 保存即可登录
      ssh vps即可自动登录

    4. 如果你本地终端使用的是zsh,给 zsh添加别名

      1
      2
      3
      echo "alias ssh-to-username='ssh username@hostname'" >> ~/.zshrc #将username和hostname替换为你的服务器信息
      source ~/.zshrc #重新加载更改后的zshrc文件
      ssh-to-username #使用别名,一条命令即可登录你的ssh服务器

    5. 最后关闭密码登录

      1
      vi /etc/ssh/sshd_config

      修改如下内容

      1
      2
      3
      4
      5
      #PasswordAuthentication yes
      ##修改为如下内容:
      PasswordAuthentication no
      ##使用命令重启ssh服务:
      systemctl restart sshd

评论系统未开启,无法评论!