重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
SSH之密钥登陆
专注于为中小企业提供网站制作、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业兴业免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
1.背景介绍
平时我们都是通过输入账号和密码的方式登陆远程终端,那有没有其他的玩法呢?答案是:当然有!下面就介绍一种通过密钥的方式登陆ssh。
工具准备:一台电脑(推荐win10),一台虚拟机(推荐vmware workstation11),ssh登陆工具(xshell,securecrt,putty,推荐xshell),linux系统(redhat,centos,debian,ubuntu,推荐centos7.3)。
下面开始动手操作。
2.实验步骤
假设你已经通过ssh工具登陆上了linux终端。
(1)生成公钥和私钥
ssh-keygen -t rsa
Enter file in which to save the key (/root/.ssh/id_rsa): ##直接回车使用默认路径
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): ##输入密码
Enter same passphrase again: ##重复密码
在/root/.ssh/目录下会生成两个文件,id_rsa为私钥,id_rsa.pub为公钥。私钥自己下载到本地电脑妥善保存,公钥则可以任意公开。
(2)下载私钥到windows
sz /root/.ssh/id_rsa
如果没有请安装软件包lrzsz(yum install -y lrzsz)
(3)导入公钥
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
(4)更改SSH配置文件
修改SSH 的配置文件/etc/ssh/sshd_config,找到下面3行:
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
将前面的#去掉后保存。重启SSH 服务,运行命令:systemctl restart sshd
(5)xshell配置(看图)
1.新建一个会话
2.选择身份验证方式
3.导入私钥
4.输入自己设定的密码
5.确定用户密钥
6.输入密码
7.选择相应的会话
8.成功登陆
(6)关闭SSH密码登陆
修改SSH的配置文件/etc/ssh/sshd_config,找到下面1 行:
PasswordAuthentication yes
修改为:
PasswordAuthentication no
重启SSH服务,并运行命令:
systemctl restart sshd