ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SSH远程管理

2021-05-25 17:01:07  阅读:168  来源: 互联网

标签:30.3 192.168 etc SSH 远程管理 root localhost ssh


配置OpenSSH服务端

1.SSH服务及配置文件

在centos7中,OPENSSH服务器由openssh、openssh-server等软件包提供(默认已安装),并已将sshd添加为标准的系统服务。
sshd服务的配置文件默认位于/etc/ssh/sshd_config

[root@localhost ~]# rpm -qc openssh-server  //查看配置文件
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd

2.服务监听选项

sshd服务使用的端口默认为TCP22端口,可修改,并且可以指定监听服务的IP地址,SSH协议的版本V2比V1的安全性要更好,禁用DNS反向解析可以提高服务器的响应速度

[root@localhost ~]# vi /etc/ssh/sshd_config   //编辑ssh服务器配置,以下为默认配置
。。。
#Port 22                 //监听端口
#ListenAddress 0.0.0.0  //监听地址
#ListenAddress ::       //监听地址V6
#UseDNS yes             //启用DNS反向解析
。。。

3.用户登录控制

关于sshd服务的用户登陆控制,通常应禁止root用户或密码为空的用户登录。另外,可以限制登陆验证的时间及最大重试次数,此外还可以只允许或禁止某些用户登录

[root@localhost ~]# vi /etc/ssh/sshd_config   //编辑ssh服务器配置,以下为默认配置
。。。
#LoginGraceTime 2m      //登陆验证时间
#PermitRootLogin yes   //允许Root登录       
#MaxAuthTries 6        //最大重试次数为6
#MaxSessions 10        //最大连接数为10
#PasswordAuthentication yes        //开启密码验证机制
#PermitEmptyPasswords no   //不允许空密码登录
AllowUsers  root  zhangsan  lisi@192.168.30.4  //只允许这些用户登录,lisi只允许在指定主机远程登录 
DenyUsers  zhangsan   //张三又在白名单,又在黑名单,以黑名单为优,禁止登录
。。。

4.登录验证方式

[root@localhost ~]# vi /etc/ssh/sshd_config   //编辑ssh服务器配置,以下为默认配置
#PasswordAuthentication yes        //开启密码验证机制
#PubkeyAuthentication yes        //启用密钥对验证
AuthorizedKeysFile      .ssh/authorized_keys   //指定公钥库数据文件

4.1 密码验证

以服务器中本地系统用户的登录名称、密码进行认证。使用方式简便,但是较不安全

4.2 密钥对验证

使用方法
通常先在客户机中创建一对密钥文件(公钥,私钥),然后将公钥文件放到服务器的指定位置。远程登陆时,系统将使用公钥,私钥进行加密解密关联验证,最后登录成功

公钥和私钥的关系
公钥和私钥是成对生成的,互不相同,可以互相加密解密
不能根据一个密钥推算另一个密钥
公钥对外公开,私钥只有私钥的持有人知道

使用SSH客户端程序

1.ssh远程登录

远程登录到192.168.30.3

[root@localhost ~]# ssh 192.168.30.3   //远程到192.168.30.3
The authenticity of host '192.168.30.3 (192.168.30.3)' can't be established.
ECDSA key fingerprint is SHA256:396BF852ITFX9y8B/HTvPAeICxxYzk4Wc7o8nWgyIQ4.
ECDSA key fingerprint is MD5:75:63:23:ba:73:cc:5d:4d:e6:2a:6a:9b:c3:71:43:a7.
Are you sure you want to continue connecting (yes/no)? yes    //确定连接
Warning: Permanently added '192.168.30.3' (ECDSA) to the list of known hosts.
root@192.168.30.3's password:       //输入密码
Last login: Tue May 25 15:18:00 2021 from 192.168.30.254
[root@localhost ~]#ifconfig ens33 | grep "inet "   //确认当前主机地址
inet 192.168.30.3  netmask 255.255.255.0  broadcast 192.168.30.255

2.scp远程复制

将远程主机中的/etc/passwd文件复制到本机,并将本机的/etc/cups目录复制到远程主机

[root@localhost ~]# scp root@192.168.30.3:/etc/passwd /root/pwd3.txt   //将远程主机中的/etc/passwd文件复制到本机
root@192.168.30.3's password: 
passwd                                                                            100% 2310     1.1MB/s   00:00    
[root@localhost ~]# scp -rp /etc/cups/ root@192.168.30.3:/tmp   //将本机的/etc/cups目录复制到远程主机
root@192.168.30.3's password: 
cups-browsed.conf                                      100% 1029    54.0KB/s   00:00    
classes.conf                                           100%    0     0.0KB/s   00:00    
client.conf                                            100%    0     0.0KB/s   00:00    
cups-files.conf                                        100% 3091     2.6MB/s   00:00    
[root@localhost ~]# 

3.sftp安全FTP

通过sftp命令可以SSH安全连接与远程主机上传、下载文件,采用了与FTP类似的登录过程和交互式环境

[root@localhost ~]# sftp 192.168.30.3       //建立连接
root@192.168.30.3's password:          //输入密码 
Connected to 192.168.30.3.   

sftp> ls      //查看192.168.30.3目录下文件
anaconda-ks.cfg        initial-setup-ks.cfg   下载                 公共                 图片                 
文档                 桌面                 模板                 视频                 音乐                 
sftp> lls       //查看本机目录下文件
anaconda-ks.cfg  initial-setup-ks.cfg  pwd3.txt  公共  模板  视频  图片  文档  下载  音乐  桌面
sftp> get /etc/passwd     //下载文件
Fetching /etc/passwd to passwd
/etc/passwd                                                                       100% 2310     1.8MB/s   00:00    
sftp> put /root/passwd    //上传文件
Uploading /root/passwd to /root/passwd
/root/passwd                                                                      100% 2310     2.5MB/s   00:00    

案例

1.修改监听端口,禁止root登录,禁用DNS反向解析,测试最大登录次数

[root@localhost ~]# vi /etc/ssh/sshd_config   //编辑ssh服务器配置
。。。
Port 222                 //监听端口222
UseDNS no          //禁用用DNS反向解析
PermitRootLogin no   //禁止Root登录       
MaxAuthTries 6        //最大重试次数为6
。。。
[root@localhost ~]# systemctl reload sshd   //重载服务

[root@localhost ~]# ssh root@192.168.30.3   //默认端口登录被拒绝
ssh: connect to host 192.168.30.3 port 22: Connection refused
[root@localhost ~]# ssh root@192.168.30.3 -p 222   //以root用户指定端口登录,尝试三次后失败
root@192.168.30.3's password: 
Permission denied, please try again.
root@192.168.30.3's password: 
Permission denied, please try again.
root@192.168.30.3's password: 
Authentication failed.

[root@localhost ~]# ssh -o NumberOfPasswordPrompts=10 root@192.168.30.3 -p 222  //测试最大重试次数为6次
root@192.168.30.3's password: 
Permission denied, please try again.
root@192.168.30.3's password: 
Permission denied, please try again.
root@192.168.30.3's password: 
Permission denied, please try again.
root@192.168.30.3's password: 
Permission denied, please try again.
root@192.168.30.3's password: 
Permission denied, please try again.
root@192.168.30.3's password: 
Received disconnect from 192.168.30.3 port 222:2: Too many authentication failures
Authentication failed.

[root@localhost ~]# 
[root@localhost ~]# ssh zhangsan@192.168.30.3 -p 222   //以zhangsan登录,成功
zhangsan@192.168.30.3's password: 
[zhangsan@localhost ~]$ 

2.实现免密码登录

[root@localhost ~]# ssh-keygen -t rsa  //创建算法为RSA的密钥对
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.
The key fingerprint is:
SHA256:OEQROicqU1LM0vqQX5byt4iBloSP5fzVyWb5Xog7r2U root@l
The key's randomart image is:
+---[RSA 2048]----+
| +.   +o         |
|..+  o           |
|o+. +.o          |
|=+o.+= .         |
|+@o=  ooSo       |
|o=B . o.B. .     |
|.  + + +..E .    |
|  . o . .+..     |
|        o=o      |
+----[SHA256]-----+

[root@localhost ~]# ssh-copy-id root@192.168.30.3    //上传到服务器的指定位置
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be instal
/usr/bin/ssh-copy-id: INFO: attempting to log in with the
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be install
root@192.168.30.3's password:                   //输入密码
 
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.
and check to make sure that only the key(s) you wanted we


[root@localhost ~]# ssh 192.168.30.3   //验证,无需密码
Last login: Tue May 25 16:43:25 2021 from 192.168.30.254
[root@localhost ~]# 

标签:30.3,192.168,etc,SSH,远程管理,root,localhost,ssh
来源: https://blog.csdn.net/weixin_51720711/article/details/117256272

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有