两条命令搞定免密码 ssh 连接服务器 - sbw Blog

两条命令搞定免密码 ssh 连接服务器

来源: 石博文博客 | 浏览: 425 | 评论: 0 发表时间: 2019-03-22

SSH 为 Linux 环境下最常用的远程连接协议,它是 SecureShell 的简写。SSH 除了可以用作安全的远程 shell 来对主机进行管理外,其套件中还包括 scp 等文件传输工具,方便本地与远程主机的文件传输。通过配置 ssh 的信任公钥证书,可以实现无密码的登陆,这在经常需要远程登陆服务器,或是一些自动化脚本,不方便写明密码的场景中非常实用。



检查 ssh key

首先,如果是 Linux 环境,可以通过以下命令检查家目录中是否已经存在 ssh key 文件。如果确定是新部署的系统,可以直接进行步骤1,生成新的 ssh key。如果是 Windows 系统,在后面有特别说明。

如果已经存在 *.pub 这样的文件,那就是已经生成了自己的 ssh key,此时可以跳过步骤 1,直接进行下一步。


1. 生成 ssh key

使用以下命令生成 ssh key。

在生成过程中,根据提示应该会要求设置一个密码,并要二次确认。结束后,ssh key 就生成完成了。


复制公钥文件到服务器

复制公钥文件到远程服务器,这里有两个方法,一是先读取本地 ~/.ssh/*.pub 这个文件的内容,然后 ssh 到远程服务器,再使用 vi 等编辑器将这个文件的内容追加写入到远程服务器的 ~/.ssh/authorized_keys 文件中。

这里推荐另一个更简单一些的方法,使用 ssh-copy-id 命令,其中 -i 选项指定的是前面新生成的公钥文件,后面就和平时 ssh 的用法一样:

这样,服务器的信任公钥就配置完成了,再次使用 ssh,scp 连接服务器时就不再需要询问密码了。


Windows 下使用 Putty 的配置

在很多情况下,需要在 windows 环境下远程连接 Linux 服务器做运维,此时对 ssh 的无密码登陆配置和在 Linux 环境下大同小异,这里以最常用的 Putty 为例说明:


putty generate ssh private key

如上图,在安装完 Putty 后,打开其中包含的 PuTTYgen 这个程序,点击 Generate 即可生成一个 ssh key。如果已经生成,这里会直接显示已有的 key。有了 key 之后,和上面的步骤 2 一样,将其追加到远程服务器的 ~/.ssh/authorized_keys 文件中即可。




没有人评论过此文,还不快抢个沙发
  • 昵称: *
  • 邮箱:
  • 网址:
  • 记住我的信息
  • Color
  • Red
  • Blue
  • Code
  • bash
  • cpp
  • css
  • java
  • js
  • perl
  • php
  • python
  • ruby
  • sql
  • xml