linux创建ssh免密命令

worktile 其他 54

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux中,可以使用公钥认证方式来实现SSH免密登录。下面是创建SSH免密的步骤:

    1. 生成密钥对:在本地计算机上打开终端,使用以下命令生成密钥对(公钥和私钥):

    “`
    ssh-keygen -t rsa
    “`

    按照提示,你可以选择密钥的名称和位置。默认情况下,会在用户主目录下生成一个`.ssh`文件夹,其中包含公钥`id_rsa.pub`和私钥`id_rsa`。

    2. 将公钥复制到远程服务器:使用以下命令将公钥复制到要免密登录的远程服务器上。输入命令后,会要求输入远程服务器的密码:

    “`
    ssh-copy-id username@remote_host
    “`

    其中`username`是远程服务器的用户名,`remote_host`是远程服务器的主机名或IP地址。如果成功,公钥会被添加到远程服务器的`~/.ssh/authorized_keys`文件中。

    3. 配置SSH服务器:在远程服务器上,打开SSH服务器配置文件`/etc/ssh/sshd_config`,确保以下配置项启用:

    “`
    PubkeyAuthentication yes
    “`

    保存文件后,重启SSH服务器以使配置生效。

    4. 测试免密登录:现在,你可以尝试使用SSH免密登录到远程服务器上了。在本地计算机的终端上使用以下命令:

    “`
    ssh username@remote_host
    “`

    如果一切设置正确,你将能够直接登录到远程服务器,而无需输入密码。

    注意事项:
    – 请确保本地计算机和远程服务器之间的时间同步,以免导致公钥认证失败。
    – 在某些情况下,你可能需要手动创建`~/.ssh`文件夹和`authorized_keys`文件,并设置正确的权限(`700`和`600`)。
    – 如果你之前已经设置过SSH密码登录,需要先登录到远程服务器,编辑`~/.ssh/authorized_keys`文件,删除之前的密钥,并将新生成的公钥添加到文件末尾。

    通过以上步骤,你就可以在Linux中成功创建SSH免密登录了。这样可以增加登录的方便性同时也提高了安全性。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux上创建SSH免密登录的步骤如下:

    1. 生成SSH密钥对:使用ssh-keygen命令生成SSH密钥对,其中包括公钥和私钥。打开终端窗口,输入以下命令:
    “`
    ssh-keygen -t rsa
    “`
    按回车键确认保存密钥的默认路径,然后输入一个密码(可选)。生成的密钥对将保存在~/.ssh目录下的id_rsa和id_rsa.pub文件中。

    2. 将公钥添加到目标主机:将生成的公钥复制到目标主机的~/.ssh/authorized_keys文件中。可以使用ssh-copy-id命令自动将公钥复制到目标主机上,例如:
    “`
    ssh-copy-id username@hostname
    “`
    这个命令会将公钥添加到目标主机上以实现免密登录。如果目标主机上没有该命令,可以手动复制公钥到目标主机的~/.ssh/authorized_keys文件中。

    3. 设置目标主机的权限:确保目标主机的.ssh目录权限设置正确。可以使用chmod命令将目标主机的.ssh目录权限设置为700,例如:
    “`
    chmod 700 ~/.ssh
    “`

    4. 设置目标主机的authorized_keys文件权限:确保目标主机的authorized_keys文件权限设置正确。可以使用chmod命令将authorized_keys文件权限设置为600,例如:
    “`
    chmod 600 ~/.ssh/authorized_keys
    “`

    5. 测试无密码登录:完成上述步骤后,就可以测试无密码登录了。关闭终端窗口后再次打开,输入以下命令:
    “`
    ssh username@hostname
    “`
    如果一切设置正确,将不再需要输入密码,直接登录目标主机。

    需要注意的是,每台需要免密登录的主机都需要重复上述步骤。此外,如果需要在多台主机之间实现免密登录,可以重复步骤2将公钥添加到每台主机上,或者使用ssh-agent和ssh-add命令管理密钥,以便在登录时自动加载密钥。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux系统中,可以通过配置SSH免密登录来实现无需输入密码即可登录到远程服务器。下面将介绍详细的操作流程。

    1. 生成SSH密钥对
    首先,需要在本地生成一对SSH密钥,一把是私钥(private key),另一把是公钥(public key)。

    打开终端,输入以下命令生成密钥对:
    “`
    ssh-keygen -t rsa
    “`

    程序会提示输入密钥保存的路径,默认路径为`~/.ssh/id_rsa`,可以直接按回车键使用默认路径。
    之后,会要求输入密钥的密码,可以选择设置密码或者直接回车不设置。设置密码可以增加密钥的安全性,但每次使用该密钥都需要输入密码。
    完成上述步骤后,系统会生成一对密钥,私钥存储在`~/.ssh/id_rsa`文件中,而公钥存储在`~/.ssh/id_rsa.pub`文件中。

    2. 将公钥添加到远程服务器
    接下来,需要将本地生成的公钥添加到要免密登录的远程服务器上。

    登录到远程服务器,可以使用以下命令将公钥添加到`~/.ssh/authorized_keys`文件中:
    “`
    ssh-copy-id username@remote_host
    “`

    其中,`username`是要登录的远程服务器的用户名,`remote_host`是远程服务器的IP地址或域名。
    运行命令后,需要输入远程服务器的密码进行确认。成功添加公钥后,可以通过以下命令测试是否可以免密登录到远程服务器:
    “`
    ssh username@remote_host
    “`

    如果登录成功,即表示公钥添加成功。

    3. 配置本地SSH客户端
    当添加成功后,可以配置本地SSH客户端,使其自动使用密钥对登录远程服务器。

    打开本地SSH客户端配置文件`~/.ssh/config`,如果文件不存在,则创建一个新的文件。添加如下内容:
    “`
    Host remote_host
    HostName remote_host
    User username
    IdentityFile ~/.ssh/id_rsa
    “`

    将上述命令中的`remote_host`替换为远程服务器的IP地址或域名,`username`替换为远程服务器的用户名。

    4. 测试免密登录
    配置完成后,可以使用以下命令测试免密登录到远程服务器:
    “`
    ssh remote_host
    “`

    如果登录成功,即表示免密登录配置成功。

    通过上述步骤,就可以在Linux系统中创建SSH免密登录了。这样,在使用SSH登录远程服务器时就无需输入密码,方便快捷。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部