• Linux ssh远程登陆方式:密码与公钥


    说明

    Linux下有一个远程登陆shell的方法:ssh。只要开启了这个service(sshd),就可以从别的客户机远程登陆(无论是从Linux还是windows)。

    登陆方法有两种:

    • 密码登陆

    • 公钥认证,双方各持公钥,客户机持私钥

    密码登陆

    采用密码登陆只需要服务器开启了sshd服务。可以通过以下方法验证及开启:

    • 在CentOS 7下输入:systemctl status sshd.service验证;status改成start开启

    • 其它低级系统输入:service sshd status 验证。

    Linux系统登陆

    服务器满足条件后,如果客户端是Linux系统,则输入:

    ssh -l root 192.168.11.214 -p 22
    

    解释:

    • -l root 代表用root用户登陆

    • 后面跟ip地址,-p代表端口号,sshd服务的端口号是22

    windows系统登陆

    采用SecureCRT就可以了。

    公钥登陆

    我是采用RSA加密的公钥/私钥。这对秘钥由客户端生成,然后将公钥发给服务端,之后就可以用公钥登陆了。

    服务端设置

    先 vim /etc/ssh/sshd_config ,打开这两个配置:

    RSAAuthentication yes
    PubkeyAuthentication yes
    

    如果想禁止密码登陆,设置:

    PasswordAuthentication no
    

    将客户端发来的公钥追加到~/.ssh/authorized_keys下面(公钥生成见下文):

    cat key.pub >> ~/.ssh/authorized_keys
    echo >> ~/.ssh/authorized_keys  #输入一个回车,以便下次追加从新的一行开始
    

    然后重启sshd服务:

    systemctl restart sshd.service
    # service sshd start
    

    Linux系统登陆

    先生成秘钥:

    ssh-keygen -t rsa
    

    不需要输入密码,连续三次回车生成成功。然后把公钥发给服务端。

    输入登陆命令:

    ssh -l root 192.168.11.214 -p 22
    

    windows系统登陆

    使用SecureCRT生成秘钥:工具->创建公钥,一些关键步骤是:

    • 密钥类型选择RSA

    • 密钥格式选择OpenSSH

    • 可以自定义密钥名

    其余保持默认即可。

    然后把公钥发给服务端。

    之后登陆选项中把公钥登陆勾上就可以了:

  • 相关阅读:
    暑假第二周总结
    7.18-7.24 第一周周报
    poj 3295 Tautology
    2016多校 #2 1006 Fantasia
    codeforces 698B Fix a Tree
    codeforces 699B Bomb
    HDU 4578(线段树
    CF 600F( 二分图
    hdu 5517 Triple(二维树状数组)
    HDU HDOJ5412(树套树or整体二分
  • 原文地址:https://www.cnblogs.com/demon90s/p/6154875.html
Copyright © 2020-2023  润新知