• ssh key authentication


    https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server

    SSH keys prove to be a reliable and secure alternative.
    The private key is retained by the client and should be kept absolutely secret.

    The public key is uploaded to a remote server that you want to be able to log into with SSH.
    The key is added to a special file within the user account you will be logging into called
    ~/.ssh/authorized_keys

    When a client attempts to authenticate using SSH keys, the server can test the client on
    whether they are in possession of the private key.
    If the client can prove that it owns the private key, a shell session
    is spawned or the requested command is executed.

    0. 安装openssh-server

    在server上配置:

    sudo apt-get install openssh-server
    

    查看ssh daemon 是否启动

    ps aux | grep sshd
    

    查看server IP

    ip addr
    

    在其他机器上ssh password 方式登录server

    ssh username@serverIp
    

    1. 生成key pair

    ssh-keygen
    

    输出

    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/username/.ssh/id_rsa):
    

    By default, this will create a 2048 bit RSA key pair, which is fine for most uses.

    生成位置/home/username/.ssh/

    • private key id_rsa
    • public key id_rsa.pub

    Next, you will be prompted to enter a passphrase for the key.
    This is an optional passphrase that can be used to encrypt the private key file on disk.
    The passphrase serves as an additional layer of protection in case these conditions are compromised.
    A passphrase is an optional addition. If you enter one, you will have to provide it every time you use this key.

    2. 上传public key 到server

    方法1

    ssh-copy-id username@remote_host
    

    To use the utility, you simply need to specify the remote host that you would like to connect to
    the user account that you have password SSH access to. This is the account where your public SSH key will be copied.

    使用前提:
    you must already have password-based SSH access to your server.

    方法2

    cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    

    3. 验证

    ssh username@remote_host
    

    4. 在server上关闭 ssh password 登录方式

    sudo vi /etc/ssh/sshd_config
    
    PasswordAuthentication no
    

    On Ubuntu or Debian machines, you can issue this command:

    sudo service ssh restart
    

    On CentOS/Fedora machines, the daemon is called sshd:

    sudo service sshd restart
    

    After completing this step, you’ve successfully transitioned your SSH daemon to only respond to SSH keys.

  • 相关阅读:
    Linux基本常用知识整理
    uva488 Triangle Wave
    uva 10300 Ecological Premium
    Silverlight知识链接整理(11月12月)
    关于微软高校“创新之旅”活动—郑州大学站公告
    心动的Silverlight5
    Silverlight图片处理——Deep Zoom Composer
    微软高校“创新之旅”巡回活动郑州大学站圆满落幕
    Silverlight之Button控件简单自定义
    Silverlight之工具箱使用1
  • 原文地址:https://www.cnblogs.com/Searchor/p/14451119.html
Copyright © 2020-2023  润新知