ssh-keygen实现基于SSH密钥的SSH、SCP无密码登录
2017-02-07 17:54
309 查看
SSH为远程登录及会话提供了安全保障,通过ssh-keygen创建SSH 密钥可以实现本地机与服务器,或两台服务器之间的无密登录。
操作准备
本地机操作
服务器操作
无密码登录
1.操作准备
简单的说,通过SSH 密钥可以使用两台电脑之间的安全无密码登录。在本文,通过本地机和服务器做操作演示,实现了本地机无密码登录远程服务器。
实现无密码登录,需要完成以下操作:
本地机使用ssh-keygen命令创建SSH公钥和私钥。
服务器使用ssh-keygen命令创建SSH公钥和私钥。
服务器.ssh目录下建立authorized_keys文件,并将本地机的SSH公钥(.pub文件)内容粘贴到其中。
使用ssh-keygen命令建立SSH密钥时,可以使用rsa或dsa加密,本文使用了rsa加密方式。ssh-keygen命令详细介绍请参考:ssh-keygen生成git
ssh密钥
2. 本地机操作
使用ssh-keygen建立本地机(客户端)的SSH 密钥:
输入以上命令后,按三次回车,SSH 密钥创建完成。
创建完成后,当前登录用户的根目录下会生成~/.ssh目录,目录中包含私钥和公钥两个文件id_rsa和id_rsa.pub。
注:如果之前创建过SSH 密钥,也可以直接使用。
3. 服务器操作
3.1 创建SSH 密钥
登录服务器,使用ssh-keygen建立服务器(服务端)的SSH 密钥:
输入上面命令,按三次回车,SSH 密钥创建完成。创建完成后,也会在目录下~/.ssh生成公钥和私钥两个文件。
切换到~/.ssh目录继续操作:
3.2 建立授权文件authorized_keys
创建完成服务端的SSH 密钥后,还需要建立授权文件authorized_keys,并将客户端公钥id_rsa.pub文件内容粘贴到其中。
创建authorized_keys文件:
在客户端使用cat命令,输出id_rsa.pub文件内容:
将id_rsa.pub文件内容粘贴到authorized_keys文件,保存退出authorized_keys文件。
也可以将客户端id_rsa.pub文件复制到服务器,并执行下面命令,将其内容复制到authorized_keys授权文件中:
4. 无密码登录 执行su命令,切换到root帐号。编辑以下配置文件:
找到如下三行,并去掉注释#:
重启sshd服务:
完成上述操作后,本地机就已经具备了无密码登录服务器的条件。
登录测试,在本例中,使用的root登录了 IP为192.168.0.9的服务器,用户可根据实际情况自行调整:
如果上述操作没有问题,被授权机器(客户端)通过ssh命令登录或scp复制文件到服务器时,可以直接登录或复制,不在需要输入登录密码。
操作准备
本地机操作
服务器操作
无密码登录
1.操作准备
简单的说,通过SSH 密钥可以使用两台电脑之间的安全无密码登录。在本文,通过本地机和服务器做操作演示,实现了本地机无密码登录远程服务器。
实现无密码登录,需要完成以下操作:
本地机使用ssh-keygen命令创建SSH公钥和私钥。
服务器使用ssh-keygen命令创建SSH公钥和私钥。
服务器.ssh目录下建立authorized_keys文件,并将本地机的SSH公钥(.pub文件)内容粘贴到其中。
使用ssh-keygen命令建立SSH密钥时,可以使用rsa或dsa加密,本文使用了rsa加密方式。ssh-keygen命令详细介绍请参考:ssh-keygen生成git
ssh密钥
2. 本地机操作
使用ssh-keygen建立本地机(客户端)的SSH 密钥:
ssh-keygen -t rsa
输入以上命令后,按三次回车,SSH 密钥创建完成。
创建完成后,当前登录用户的根目录下会生成~/.ssh目录,目录中包含私钥和公钥两个文件id_rsa和id_rsa.pub。
注:如果之前创建过SSH 密钥,也可以直接使用。
3. 服务器操作
3.1 创建SSH 密钥
登录服务器,使用ssh-keygen建立服务器(服务端)的SSH 密钥:
ssh-keygen -t rsa
输入上面命令,按三次回车,SSH 密钥创建完成。创建完成后,也会在目录下~/.ssh生成公钥和私钥两个文件。
切换到~/.ssh目录继续操作:
cd ~/.ssh
3.2 建立授权文件authorized_keys
创建完成服务端的SSH 密钥后,还需要建立授权文件authorized_keys,并将客户端公钥id_rsa.pub文件内容粘贴到其中。
创建authorized_keys文件:
vi authorized_keys
在客户端使用cat命令,输出id_rsa.pub文件内容:
cat id_rsa.pub
将id_rsa.pub文件内容粘贴到authorized_keys文件,保存退出authorized_keys文件。
也可以将客户端id_rsa.pub文件复制到服务器,并执行下面命令,将其内容复制到authorized_keys授权文件中:
cat id_dsa.pub >> ~/.ssh/authorized_keys
4. 无密码登录 执行su命令,切换到root帐号。编辑以下配置文件:
vim /etc/ssh/sshd_config
找到如下三行,并去掉注释#:
#RSAAuthentication yes #PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys
重启sshd服务:
service sshd restart -
完成上述操作后,本地机就已经具备了无密码登录服务器的条件。
登录测试,在本例中,使用的root登录了 IP为192.168.0.9的服务器,用户可根据实际情况自行调整:
ssh -l root 192.168.0.9
如果上述操作没有问题,被授权机器(客户端)通过ssh命令登录或scp复制文件到服务器时,可以直接登录或复制,不在需要输入登录密码。
相关文章推荐
- 利用ssh-keygen生成git公密钥 实现git无密码登录
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问
- 使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录
- 使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录
- 定制微型linux实现启用虚拟终端基于帐号密码登录、提供ssh服务,提供Web服务(下)附有命令移植脚本 推荐
- 基于本地公钥认证实现ssh免密码登录
- ssh-keygen和ssh-copy-id实现SSH无密码登录
- Linux使用ssh-keygen实现SSH无密码登录
- 使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问
- 基于cron、rsync和ssh免密码登录实现Linux系统间自动同步~
- 使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录
- 定制微型linux实现启用虚拟终端基于帐号密码登录、提供ssh服务,提供Web服务
- 使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问
- 使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录
- 服务器间通过ssh使用密钥对实现无密码登录
- 使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录
- ssh-keygen 实现免密码登录远程服务器