|NO.Z.00006|——————————|^^ 构建 ^^|——|Linux&SshTcpRoot.V03|——|禁止root|

一、禁止root密码登录
### --- 禁止root密码登录

[root@server14 ~]# vim /etc/ssh/sshd_config
    PasswordAuthentication no                                   // 默认是yes生效状态,改为no关闭;禁止使用密码登录
[root@server14 ~]# systemctl restart sshd                       // 重启后验证只能通过秘钥对登录
### --- 禁止使用root远程登录

[root@server14 ~]# useradd yanqi
[root@server14 ~]# passwd yanqi
[root@server14 ~]# vim /etc/ssh/sshd_config
PermitRootLogin no                                              // 这个配置文件中注释并不代表不生效,将选项开启并改为no
[root@server14 ~]# systemctl restart sshd                       // 服务器拒绝root登录
[root@server15 ~]# ssh root@10.10.10.14                         // root登录失败
root@10.10.10.14's password: 
[root@server15 ~]# ssh yanqi@10.10.10.14                        // 普通用户可以正常登录
yanqi@10.10.10.14's password: 
[yanqi@server14 ~]$
### --- 修改默认端口,限制ssh监听IP

[root@server14 ~]# vim /etc/ssh/sshd_config     
Port 55555                                                      // 端口建议改为万位以上。并小于65535即可
[root@server14 ~]# systemctl restart sshd 
[root@server15 ~]# ssh root@10.10.10.14                         // 默认22端口拒绝
ssh: connect to host 10.10.10.14 port 22: Connection refused
Xshell:\> ssh root@10.10.10.14 55555                            // 可以正常登录55555端口
[root@server15 ~]# ssh -p 55555 root@10.10.10.14                // 其它主机连接该设备端口
root@10.10.10.14's password: 
Last login: Tue Feb  2 03:13:15 2021 from 10.10.10.2
[root@server14 ~]# netstat -antp                                // 可以查看到sshd服务监听的端口是55555
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:55555           0.0.0.0:*               LISTEN      1547/sshd 
[root@server15 ~]# nmap -sT 10.10.10.14                         // nmap扫描端口,nmap默认只扫描低位端口,高位端口是扫描不到的。
Starting Nmap 6.40 ( http://nmap.org ) at 2021-02-02 02:40 CST
Nmap scan report for 10.10.10.14
Host is up (0.0019s latency).
Not shown: 999 closed ports
PORT      STATE SERVICE
55555/tcp open  unknown
MAC Address: 08:00:27:29:DF:AE (Cadmus Computer Systems)
Nmap done: 1 IP address (1 host up) scanned in 0.61 seconds
### --- 限制ssh监听IP地址

[root@server14 ~]# vim /etc/ssh/sshd_config
ListenAddress 10.10.10.21                                       // 默认是0.0.0.0表示所有,修改一个指定的地址
[root@server14 ~]# ifconfig enp0s3:0 10.10.10.21                // ifconfig可以设置一张网卡有多个IP地址
[root@server15 ~]# ssh root@10.10.10.14                         // 默认14地址是不可以登录的,因为14地址没有被监听
ssh: connect to host 10.10.10.14 port 22: Connection refused
[root@server15 ~]# ssh root@10.10.10.21                         // 而21地址是可以监听到的。所以可以正常登录
root@10.10.10.21's password: 
Last login: Tue Feb  2 03:28:21 2021 from 10.10.10.15
### --- scp:安全的远程文件复制命令:
[root@server14 ~]# scp /root/yanqi.scp root@10.10.10.15:/root/  // 将14的yanqi.scp下推送到15/root/下
[root@server15 ~]# ls
  yanqi.scp
[root@server14 ~]# scp root@10.10.10.15:/root/yanqi.scp /root/  // 将15的yanqi.scp下的文件拉取到14/root/下
yanqi.scp                                                                                                                                            100%    0     0.0KB/s   00:00    
[root@server14 ~]# ls
  yanqi.scp

~~~     若是对方服务器的端口发生了变化可以通过-P(大写)来传输
[root@server15 ~]# vim /etc/ssh/sshd_config
Port 55555
[root@server14 ~]# systemctl restart sshd       
[root@server14 ~]# scp /root/yanqi.scp root@10.10.10.15:/root/  // 解析提示端口出现错误
ssh: connect to host 10.10.10.15 port 22: Connection refused
lost connection                                                 // 丢失了连接
[root@server14 ~]# scp -P 55555 /root/yanqi.scp root@10.10.10.15:/root/
yanqi.scp 
### --- sftp:
~~~     安全的传输协议,和scp的功能一模一样,ssh下的scp用的是tcp协议,而sftp用的是ftp协议。
~~~     ftp是明文传输,sftp是加密传输。

[root@server14 ~]# sftp root@10.10.10.15                        // 登录到sftp中
Connected to 10.10.10.15.
sftp> help                                                      // 列出所有可用命令的帮助命令
sftp> pwd
Remote working directory: /root                                 // 查看当前所在路径:也就是10.10.10.15下的root目录下
sftp> lpwd
Local working directory: /root                                  // 打印本机的工作路径,没登录之前宿主机的路径:也就是10.10.10.14下的root目录下
sftp> pwd                                                       // 查看当前所在路径,服务器当前所在路径,10.10.10.15
Remote working directory: /root
sftp> lpwd                                                      // 打印本机的所在路径,宿主机的路径:10.10.10.14
Local working directory: /root 
sftp> cd /tmp/                                                  // 当前所在路径
sftp> lcd /tmp/                                                 // 宿主机所在路径
sftp> ls                                                        // 当前所在路径                       
sftp> lls                                                       // 宿主机的路径
sftp>put                                                        // 将客户机汇总的指定文件上传到服务器端
sftp>get                                                        // 将服务器端的指定文件下载到客户机的当前所在目录
sftp>rm                                                         // 删除掉服务器端的指定文件
[root@server14 ~]# sftp -oPort=55555 root@10.10.10.15           // 指定特定端口登录-OPort=55555
Connected to 10.10.10.15.

附录一:
### --- 将公钥导入Linux主机的指定用户下的指定公钥配置文件内

~~~     后面用哪个用户登录就放在谁家里,这里我们先用root用户做实验
~~~     在root家目录下,找到.ssh目录,然后在里面创建authorized_keys文件,
~~~     并且将公钥写入进入
### --- 使用windows尝试登录指定用户
### --- 禁止使用密码登录

~~~     当我们学会了使用秘钥对进行验证后,建议生产环境下将账户秘密登录功能关掉
~~~     配置文件:/etc/ssh/sshd_config
~~~     选项:
    PasswordAuthentication no
### --- 注意:
~~~     ssh的配置文件中,并不是注释掉的就是不生效的,有些是默认生效的,
~~~     需要修改时一定要取消注释再修改。
### --- 禁止使用root远程登录

~~~     root 在系统中是一个可以为所欲为的角色,我们可以在平时的操作中用普通用户操作,
~~~     在有需要修改一些系统设置的时候再从普通用户切换到root用户,
~~~     这样可以最大限度的避免用户误操作对系统造成破坏,
~~~     同时也可以避免黑客在暴力破解后直接使用root用户登录系统,
~~~     一般在远程登录管理上我们会禁止直接使用root用户登录
~~~     配置文件:/etc/ssh/sshd_confg
~~~     选项:
    PermitRootLogin no
### --- 修改默认端口,限制ssh监听IP
    
~~~     修改默认端口:ssh作为一个用来远程管理服务器的工具,需要特别的安全,
~~~     默认情况下使用TCP的22端口,若不能进行修改,很容易被利用遭到攻击,
~~~     所以我们一般都会修改端口,尽量修改一个高位端口(范围1——65535)
~~~     配置文件:/etc/ssh/sshd_config
~~~     选项:
    Port ⑤9527
    ssh -p 端口 用户名@服务器IP
~~~     限制ssh监听IP:有些服务器则安全级别更高一些,不允许使用外网直接登录,
~~~     只有通过局域网才能登录,我们可以在机房里设置其中一台能够被外网远程连接,
~~~     其他的主机都通过这个机器进行远程连接即可
~~~     配置文件:   /etc/ssh/sshd_config
~~~     选项:ListenAddress 192.168.88.100
### --- ssh服务相关命令

~~~     scp:安全的远程文件复制命令:
~~~     scp是secure copy 的简写,用于在linux下进行远程拷贝文件的命令,
~~~     类似于命令有cp,scp传输时加密的,所以可能会稍微影响一点速度,
~~~     另外scp还非常不占资源,不会提高多少系统负荷。
~~~     格式: scp 本地文件 用户名@服务器IP:目录
        scp /root/atguigu.txt root@192.168.88.20:/tmp
        -p 端口                                                   // 若端口不是默认端口,则需要使用此格式指定端口
~~~     sftp:安全的文件传输协议
~~~     sftp是secure filetransferprotocol的缩写,安全文件传输协议,
~~~     sftp与ftp有着几乎一样的语法和功能,由于这种传输方式使用了加密/解密结束,
~~~     所以sftp比ftp更安全一些,但传输效率比普通的FTP要低很多。
~~~     格式:sftp 用户名@服务器IP
    sftp
    -oPort-端口                                                   // 若端口不是默认22,则需要使用此格式指定端口
### --- 交互命令:

~~~     help:查看在交互模式下支持哪些命令:
~~~     pwd/lpwd:pwd是查看服务器所在路径,来陪我打是查看客户端所在路径
~~~     ls/lls:ls是查看服务器当前目录下文件列表,
~~~     ls是查看客户机当前所在路径的所有文件列表
~~~     put:将客户机汇总的指定文件上传到服务器端
~~~     get:将服务器端的指定文件下载到客户机的当前所在目录
~~~     rm:删除掉服务器端的指定文件
~~~     quit:退出sftp的交互命令,断开和服务器之间的连接。

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(29)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示