Windows 终端免密登录远程 Linux

不说 · 2023-07-27 · 288 人浏览
Windows 终端免密登录远程 Linux

参考链接

Windows使用powershell或者cmd ssh免密码远程连接Linux – 姿势小王子
本地终端使用ssh key免密码连接vps-搞机技术-姿势论坛—姿势小王子

流程备份

思路:本地终端生成公钥文件,将公钥文件上传到服务器,服务器生成验证文件,服务器修改配置允许密钥连接,还可以禁用密码登陆。

  1. 配置文件放在:C:\Users\用户名.ssh 该目录下,如果没有自行创建,文件名为 config ,没有后缀。
  2. 本地终端生成公钥,执行一下命令
    ssh-keygen -t rsa
    在 .ssh 文件夹生成:id_rsa 和 id_rsa.pub 两个公钥文件,记得存放好。
  3. 将 id_rsa.pub 公钥文件上传到服务器,可以用 scp 命令或者 FTP 工具。

    #本地终端进入 .ssh 文件夹
    cd .ssh
    
    #上传公钥文件
    scp -P 22 id_rsa.pub root@ip地址:/root/.ssh
    # -P 端口,id_rsa.pub 需要上传的本地文件,root 远程服务器的用户名,/root/.ssh,远程服务器保存文件夹
  4. 服务器生成验证文件:

    #进入服务器的 .ssh 文件夹
    cd .ssh
    
    #生成验证文件 authorized_keys 
    cat id_rsa.pub > authorized_keys
  5. 修改验证文件和 .ssh 文件夹的权限:

    chmod 600 authorized_keys
    chmod 700 ~/.ssh
  6. 服务器修改 ssh 配置允许密钥连接:

    vim /etc/ssh/sshd_config

    在最后面添加配置参数:

    RSAAuthentication yes
    PubkeyAuthentication yes

    如果需要禁用密码登录,建议尝试使用密钥登录后再来修改:

    PasswordAuthentication no

    重启 sshd 服务是配置生效:

    service sshd restart
  7. 本地终端远程连接服务器:

    ssh root@ip地址 -p 22 -i .ssh/id_rsa
    # root 远程VPS用户名,-p 端口,-i 公钥路径
  8. 本地终端配置文件 config,没有就自己创建一个,内容:

    #这三行就不会创建knownhost文件,服务器重装之后,就不用删除旧的信息。
    Host *
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
    
    Host tx1 #别名 ssh 这个别名就可以连接了
    HostName xxx.xxx.xxx.xxx #服务器 ip 地址
    User root #服务器登录用户名
    Port 22 #端口
    IdentityFile ~\.ssh\id_rsa #默认使用这个私钥文件登录,这一行可以不写,如果使用其他的密钥文件则需要写一下路径
  9. ssh连接:

    ssh 别名
    示例:ssh txl
Linux Windows 终端 SSH
Theme Jasmine by Kent Liao