侧边栏壁纸
博主头像
博主等级

秋风清,秋月明,落叶聚还散,寒鸦息复惊,相思相见知何日,此时此夜难为情!

  • 累计撰写 20 篇文章
  • 累计创建 32 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux免密登录

尘
2023-11-22 / 0 评论 / 0 点赞 / 89 阅读 / 1411 字
温馨提示:
本文最后更新于 2023-12-04,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Linux免密登录

管理Linux服务器的是否,每次SSH登录时或者使用scp复制文件时都要输入密码是一个繁琐的过程.

本文介绍使用SSH Key来实现SSH无密码登录,而且使用scp复制文件时也不需要再输入密码。方便SSH登录,scp复制文件。

SSH免密登录的设置步骤

  1. 首先在自己的Linux系统上生成一对SSH Key:SSH密钥和SSH公钥。密钥保存在自己的系统上,一般在~/.ssh/目录下。
  2. 将公钥上传到Linux服务器。之后就能无密码SSH登录了。

具体操作

生成生成公钥和私钥

打开终端,使用下面的ssh-keygen来生成RSA密钥和公钥.-t表示type,就是说要生成RSA加密的钥匙.

ssh-keygen -t rsa

RSA也是默认的加密类型.所以你也可以只输入ssh-keygen.默认的RSA长度是2048位.如果你非常注重安全,那么可以指定4096位的长度.

ssh-keygen -b 4096 -t rsa

将SSH公钥上传到Linux服务器

可以使用**ssh-copy-id**命令来完成.

ssh-copy-id username@server_ip_or_hostname

windows无法使用ssh-copy-id解决办法

在powershell中输入如下脚本:

function ssh-copy-id([string]$userAtMachine, $args){   
    $publicKey = "$ENV:USERPROFILE" + "/.ssh/id_rsa.pub"
    if (!(Test-Path "$publicKey")){
        Write-Error "ERROR: failed to open ID file '$publicKey': No such file"            
    }
    else {
        & cat "$publicKey" | ssh $args $userAtMachine "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys || exit 1"      
    }
}

然后就可以使用ssh-copy-id了。

0

评论区