美文网首页
linux服务器配置ssh、sftp秘钥免密登录

linux服务器配置ssh、sftp秘钥免密登录

作者: haiyong6 | 来源:发表于2022-01-09 16:36 被阅读0次

    之前记录过一篇有关服务器打开ssh功能的文章:deepin开启ssh远程登录
    如果是用脚本操作登录服务器做操作的话,ssh可以支持配置秘钥免密登录的形式,也可以使服务器彻底关闭密码登录的形式来避免被暴力破解登录。

    服务器生成秘钥对

    在服务器执行ssh-keygen

    zhaohy@zhaohy-VC66-C:~$ ssh-keygen <== 建立密钥对
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/zhaohy/.ssh/id_rsa): <== 按 Enter
    Enter passphrase (empty for no passphrase):  <== 输入密钥锁码,或直接按 Enter 留空
    Enter same passphrase again:  <== 再输入一遍密钥锁码
    Your identification has been saved in /home/zhaohy/.ssh/id_rsa <== 私钥
    Your public key has been saved in /home/zhaohy/.ssh/id_rsa.pub <== 公钥
    The key fingerprint is:
    SHA256:1cCa4NpOeNDK8TE4YBfOAXyH79K2ihPe2BDdj5DkPyQ zhaohy@zhaohy-VC66-C
    The key's randomart image is:
    +---[RSA 3072]----+
    | ...oo   ..      |
    |  +o=.o   .o     |
    | . BoO . o. .    |
    |  . E O o.       |
    |   o ^ =S        |
    |  o * % .        |
    | . * * o         |
    |  +.o o          |
    |  ....           |
    +----[SHA256]-----+
    

    上面的密钥锁码如果直接按enter就能实现无密码登录了,可以看到密钥对在用户目录的.ssh文件夹下。

    服务器安装公钥

    在服务器用户目录下.ssh文件夹下把公钥写入authorized_keys文件

    zhaohy@zhaohy-VC66-C:~$ cd .ssh
    zhaohy@zhaohy-VC66-C:~/.ssh$ cat id_rsa.pub >> authorized_keys
    

    给authorized_keys文件和.ssh文件设置权限

    zhaohy@zhaohy-VC66-C:~/.ssh$ chmod 600 authorized_keys 
    zhaohy@zhaohy-VC66-C:~/.ssh$ cd ../
    zhaohy@zhaohy-VC66-C:~$ chmod 700 .ssh
    

    编辑 /etc/ssh/sshd_config 文件,打开密钥登录功能

    RSAAuthentication yes
    PubkeyAuthentication yes
    

    设置root用户能否通过ssh登录,可根据实际需求情况设置

    PermitRootLogin yes
    

    可以禁用密码方式登录(根据自身实际需求设置):

    PasswordAuthentication no
    

    重启服务器ssh服务:

    service sshd restart
    

    本地客户端配置好私钥即可免密登录服务器

    一般连接工具选择秘钥登录方式后都有上传私钥的按钮,只要把服务器生成的私钥下载下来,登录的时候选择一下就可以了,比较简单,这里着重介绍一下linux命令行登录配置私钥。

    把服务器上生成的私钥下载到本地linux客户端的.ssh文件夹下,设置权限:

    zhaohy@zhaohy-VirtualBox:~$ chmod 600 .ssh/id_rsa 
    zhaohy@zhaohy-VirtualBox:~$ chmod 700 .ssh
    

    如此就能通过 ssh zhaohy@192.168.0.116或sftp zhaohy@192.168.0.116来直接登录服务器了。

    参考:https://www.runoob.com/w3cnote/set-ssh-login-key.html

    相关文章

      网友评论

          本文标题:linux服务器配置ssh、sftp秘钥免密登录

          本文链接:https://www.haomeiwen.com/subject/vfbucrtx.html