私钥登录服务器,解决云服务器被扫描尝试登录问题

  • 生成ssh密钥

    ssh-keygen./ssh目录下得到私钥.id_rsa和公钥.id_rsa.pub

  • 将公钥追加到keys文件

    cat ~/.ssh/.id_rsa.pub >> ~/.ssh/authorized_keys

  • autorized_keys文件权限修改为仅当前用户可读写,保证安全(之前用的ssh-copy-id的方法,这个时候就写不进来了

  • 开启服务器ssh密钥登录

    vim /etc/ssh/sshd_config

    1
    2
    3
    #PubkeyAuthentication yes
    #AuthorizedKeysFile .ssh/authorized_keys
    👆去掉注释

    重启ssh服务

    systemctl restart sshd.service

  • 验证本地机器是否可访问

    ssh -i id_rsa user@ip

    或者直接加入默认配置

    vim /etc/ssh/ssh_config 或通过vscode command+shift+p~/.ssh/config进行编辑(以此为例)

    1
    2
    3
    4
    Host xxx
    HostName ip
    User username
    IdentityFile ~/.ssh/id_rsa

    之后只需要ssh xxx即可

  • 关闭服务器密码登录

    vim /etc/ssh/sshd_config

    1
    2
    3
    PasswordAuthentication yes
    修改为:
    PasswordAuthentication no

    重启ssh服务

    systemctl restart sshd.service

OVER!!!


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!