二、Linux中的远程登陆服务
A. Openssh的功能
#1.sshd服务的用途#
#作用: 可以实现通过网络在远程主机中开启安全shell的操作
Secure SHell ===>ssh ##客户端
Secure SHell daemon ===>sshd ##服务端
#2.安装包#
openssh-server
#3.主配置文件#
/etc/ssh/sshd_conf
#4.默认端口#
22
#5.客户端命令#
ssh
B. ssh
#1.基本用法#
ssh [-l 远程主机用户] <ip|hostname>
ssh -l root 172.25.254.101 ##通过ssh命令在101主机中以root身份开启远程shell
##身份证明生成过程确认
#作用#
当收入后
2主机会向当前主机发送身份公钥,并保存此公钥到~/.ssh/know_hosts
2主机持有私钥当客户主机再次连接时会对客户主机进行身份验证
如果身份验证改变拒绝连接效果如下
#当连接因为认证问题被拒绝时解决方案#
vim ~/.ssh/know_hosts
##在此文件中删除报错提示相应的行即可
#ssh 常用参数#
-l #指定登陆用户
-i #指定私钥
-X #开启图形
-f #后台运行
-o #指定连接参数
ssh -l root@172.25.254.x -o "StrictHostKeyChecking=no" #首次连接不许要输入yes
-t #指定连接跳板
ssh -l root 172.25.254.1 -t ssh -l root 172.25.254.105
C. ssh-keygen非对称加密
认证类型
1.对称加密
加密和解密是同一串字符
容易泄漏
可暴力破解
容易遗忘
2.非对称加密
加密用公钥,解密用私钥
不会被盗用
攻击者无法通过无密钥方式登陆服务器
ssh-keygen 制作私钥 不需要密码认证
id_rsa.pub 公
id_rsa 私
ssh-keygen -f #指定文件
ssh-keygen -P #指定密码
ssh-keygen -i #多把钥匙
2 ssh-keygen -f /root/.ssh/id_rsa -P "" #制作钥匙 较少的交互式
11 ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.201 #分配钥匙(上锁 101 给 201 上锁)要征求201的同意(即需要密码)
3 ssh -i /root/.ssh/id_rsa -l root 172.25.254.201 #-i 指定用那把钥匙的锁
9 cat id_rsa
10 cat id_rsa.pub
cat /root/.ssh/authorized_keys #这个内容与id_rsa.pub 一致
12 ssh -l root 172.25.254.201 #测试 以上的-P "" 密码为空 则不需要密码
ssh-keygen 交互式生成钥匙和锁
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ##输入保存密钥文件
Enter passphrase (empty for no passphrase): ##密钥密码
Enter same passphrase again: ##确认密码
Your identification has been saved in /root/.ssh/id_rsa. ##私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. ##公钥
测试就断开重新连接下看需要密码不
D. sshd 安全优化参数详解
文件位置 /etc/ssh/sshd_config
1、 73 行 开启关闭 原始认证
2、 17 行 改端口 Port
setenforce 0
关火墙 systemctl disable --now firewall
要重新开启systemctl restart sshd 服务
也可看下状态 status
-p 指定端口
3、黑白名单 白 AllowUsers westos root
黑 DenyUsers westos