更改root密码

更改为所需的密码

  1. 修改密码

    echo root:<password> |sudo chpasswd root
    
  2. 开启root登录

    sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config;
    
  3. 开启密码登录

    sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config;
    
  4. 重启ssh服务

    systemctl restart sshd.service
    

配置使用密钥登录

  1. 生成密钥和公钥,请执行以下命令:

    ssh-keygen -t rsa -b 4096 
    

    连续执行回车即可生成密钥和公钥对。如果需要设置密码,请在密码提示处输入密码。

  2. 安装ssh公钥

    cp "$HOME/.ssh/id_rsa.pub" "$HOME/.ssh/authorized_keys"
    
  3. 设置公钥权限

    chmod 600 "$HOME/.ssh/authorized_keys"
    chmod 700 "$HOME/.ssh"
    
  4. ssh配置文件

    1. 开启密钥登录

      sudo sed -i 's/^#\?PubkeyAuthentication.*/PubkeyAuthentication yes/g' /etc/ssh/sshd_config
      
    2. 关闭密码登录

      sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/g' /etc/ssh/sshd_config  
      
  5. 重启sshd服务

    systemctl restart sshd.service
    

ssh登录后闲置时间过长而断开连接

echo "ServerAliveInterval 60" >> "$HOME/.ssh/config"

ssh客户端会每隔一段60s,自动与ssh服务器通信一次

存放ssh密钥密码

启动ssh-agent

Linux
ssh-agent bash
windows
  1. 打开服务
  2. OpenSSH Authentication Agent服务启动
  3. 设置自启动

添加默认的私钥

ssh-add

添加私钥时,会要求输入密码。以后,在这个对话里面再使用密钥时,就不需要输入私钥的密码了,因为私钥已经加载到内存里面了。

使用命令将本地公钥发送给服务端

ssh-copy-id username@hostname
最后修改:2024 年 07 月 13 日
如果觉得我的文章对你有用,请随意赞赏
版权声明 博客名称: lsy的小站
本文链接: https://lsy22.com/194.html
内容来源: 部分内容可能来源于公共网络,仅供学习交流,如有侵权,请联系博主进行核实删除。
转载说明: 请勿用于商业用途,转载请注明出处!