首先说一下大体的思路:
1. 以密码登陆CentOS系统
2. 配置ssh
3. xshell 生成秘钥
4. 进行免密登陆
软件、设备:
xshell(下载地址(免费版),也可以自行百度下载)
CentOS7.5 (百度云服务器)
接下来言归正传:
1. 密码远程连接CentOS
打开xshell -- 文件 -- 新建,会弹出如下图的界面
说明一下里面需要修改的地方
- 名称:为了区分服务器,名字随便起
- 协议:默认ssh就好
- 主机:CentOS系统所在的机器的IP地址
- 端口:默认22就可以
- 重新连接:有需要可以勾选上,当连接意外断开后,xshell会自动重新进行连接
在左侧的目录中选择 <用户身份验证> ,显示如下界面
参数说明:
- 方法:xshell与CentOS连接时的验证方式,第一次先选择 Password
- 用户名:CentOS的用户名,我这里直接使用的是root账户
- 密码:需要登录账户的密码
然后进行连接,成功登录会在命令行前显示你登录的用户名,如下图所示
如果登陆失败,首先检查登录的账户是否存在,密码是否正确,如果没有问题,检查CentOS的端口是否开放
2. 安装、配置ssh
1. 安装openssh-server
yum install -y openssl openssh-server
2. 修改ssh配置
使用vim打开/etc/ssh/sshd-config
sudo vim /etc/ssh/sshd_config
编辑完成后,进行保存
3. 启动ssh服务
systemctl start sshd.service
4. 设置ssh开机自启
systemctl enable sshd.service
5. 创建.ssh文件夹
在用户的家目录中创建.ssh文件夹
mkdir ~/.ssh
至此为止ssh配置告一段落
3. xshell生成秘钥
1. 打开xshell -- 工具 -- 用户秘钥管理者
会弹出如下窗口
在右侧选项行中选择生成
选择下一步,不需要进行修改
秘钥已经生成,单击下一步
参数说明
- 秘钥名称:随便起,自己能够分得清就可以
- 密码:这个就是要验证我们的身份的密码,会通过RSA进行加密,这里我用的是123456
- 确认:和上面的密码一样就可以,目的检测我们两次的密码是否一致
单击下一步,会弹出如下图
然后选择保存文件,将公钥信息保存下来,这里我保存为test.pub,保存后单击完成(xshell会自动记录test。pub)
然后将test.pub上传到我们在第二步中创建的.ssh文件夹中
这里我使用rz命令(安装 yum install -y lrzsz, 文件传输命令)
首先 cd ~/.ssh 进入.ssh文件夹, 然后执行rz, 会弹出一个选择文件的窗口,选择刚刚生成的test.pub
然后使用 ll 检查是否上传成功
最后将test.pub中的公钥添加到 authorized_keys中(authorized_keys存储公钥)
cat test.pub >> authorized_keys
4. xshell 设置免密登陆
新建一个连接,同样的设置名称、主机、端口等信息,注意名称要设置成不一样的,以便于区分
设置用户身份验证
参数说明:
- 方法:选择Public key
- 用户名:创建 .ssh 文件夹的用户,我这里是root账户,所以用户名就是root
- 用户秘钥:在下拉框中选择test(就是刚刚创建的test.pub)
- 密码: 就是在生成秘钥的时候输入的那个密码
然后进行连接,就可以进行免密登陆了
本人新手上路,如果有什么问题欢迎在评论区留言!