远程管理服务
- 给你一个端口,用什么命令查看相应的服务
- ss -lntup|grep XX
- netstat -lntup|grep -w "XX"
- lsof -i:XX
- nmap -p 22 172.16.1.41
- nc 172.16.1.41
- telnet 172.16.1.41 22
- 企业面试题:如果给你一个进程名字叫sshd,如何查看对应的端口号是多少?
远程管理服务 SSH
SSH是Secure Shell Protocol的简写,
在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。
确保了传递的数据安全。
- ssh远程服务主要功能
① 一是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务;
② 一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务(vsftp,proftp)。
- ssh远程连接不上?
开始
检查链路是否通畅 :
测试链路是否畅通:ping IP地址 、traceroute/tracert ip
是否有服务阻止链路通讯:
查看iptables和selinux的服务状态(是开启还是关闭状态)
是否有服务提供网络连接:
查看服务端的sshd服务是否已经打开
- 远程连接方式
ssh: 密文的连接方式 监听的端口号 22 (安全,数据包传输过程是加密状态)
telnet:明文的连接方式 监听的端口号 23 (非安全,数据包传输过程是,明文状态)
- SSH知识要点总结
① SSH是安全的加密协议,用于远程连接linux服务器。
② SSH默认端口是22,安全协议版本SSHv2,除了2之外还有SSHv1(有漏洞)。
③SSH服务端主要包含两个服务功能SSH远程连接和SFTP服务。
④ Linux SSH客户端包含ssh远程连接命令,以及远程拷贝scp命令等。
- 有关ssh拍错——yum安装软件时提示以下错误
No package ssh available......?
1) 从已有软件服务器上,获取ssh命令服务大礼包
[root@backup ~]# rpm -qf `which ssh`
openssh-clients-5.3p1-122.el6.x86_64
2)通过yum命令参数,获取一个命令属于哪个大礼包
[root@backup ~]# yum provides `which ssh`
- openssh软件分析(与数据加密相关的软件--openssl)
[root@backup ~]# rpm -ql openssh-clients (客户端)
/etc/ssh/ssh_config --- ssh服务客户端配置文件
/usr/bin/scp --- 远程拷贝命令
/usr/bin/sftp --- 远程文件传输命令
/usr/bin/slogin --- 远程登录命令
/usr/bin/ssh --- 远程连接登录命令
/usr/bin/ssh-copy-id --- 远程分发公钥命令
[root@backup ~]# rpm -ql openssh-server (服务端)
/etc/rc.d/init.d/sshd --- ssh服务启动脚本文件
/etc/ssh/sshd_config --- ssh服务配置文件
/usr/sbin/sshd --- ssh服务进程启动命令
关于yum在安装软件时候你无意不小心退出了软件没有安装执行完成,后面可能会报错,无法再正常安装软件时,需要清楚yum缓存
- 清理yum缓存使用yum clean 命令,yum clean 的参数有headers, packages, metadata, dbcache, plugins, expire-cache, rpmdb, all
yum clean headers #清理/var/cache/yum的headers
yum clean packages #清理/var/cache/yum下的软件包
yum clean metadata
yum clean all
使用yum clean all 清除,很方便,绕开了没有root权限的问题。
该命令介绍如下,作用:清除YUM缓存。
yum 会把下载的软件包和header存储在cache中,而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一全部清除。
- ssh远程连接加密原理
ssh客户端向服务端发出连接请求
ssh服务端接收到请求,向客户端发出确认
ssh客户端进行确认,ssh服务端向客户端发出公钥(锁头)
ssh客户端利用公钥加密数据,发送给服务端,服务端利用私钥解密数据信息
ssh服务远程认证类型
- 基于口令的登录方式
- 基于秘钥的登录方式
管理端创建秘钥对(创建私钥 公钥);情侣创建信物
管理端将公钥发送给被管理端;一个信物给对方
管理再次请求与被管理建立连接时,被管理会发出公钥质询
管理处理质询请求,管理端和被管理建立免密码的连接登录方式
- SSH 服务启动及配置SSH服务配置文件
SSH服务启动
/etc/init.d/sshd start ——启动ssh远程服务
ssh服务配置文件
vim /etc/ssh/sshd_config
说明:第一次编辑时,里面所有注释信息都是默认配置
13 Port 22 --- 表示可以修改ssh服务默认端口号信息
15 ListenAddress 10.0.0.41 --- 表示只能监听本地网卡上有的IP地址
PermitEmptyPasswords --- 是否允许空密码登录,一定禁止
PermitRootLogin --- 是否允许root用户远程登录,企业环境禁止
UseDNS --- 是否进行dns反向解析,影响ssh连接效率参数
GSSAPIAuthentication no --- 是否进行认证,影响ssh连接效率参数
SSH防止入侵的方案及小结
如何防止SSH登录入侵小结:
1、用密钥登录,不用密码登陆。
2、牤牛阵法:解决SSH安全问题
a .防火墙封闭SSH,指定源IP限制(局域网、信任公网)
b.开启SSH只监听本地内网IP(ListenAddress 172.16.1.61)。
3、尽量不给服务器外网IP
4、最小化(软件安装-授权)
5、给系统的重要文件或命令做一个指纹
6、给他锁上 chattr +i +a
- ssh服务相关命令用法
ssh命令使用方法
ssh –p52113 [email protected] 远程登陆IP为10.0.0.41 keke用户里面
(52113是假设你把ssh默认端口设置成为52113然后这样输入)
ssh --- 远程连接命令;
-p(小写)接端口 --- 表示利用指定端口进行远程连接,默认22端口时可以省略-p22;
“@”前面为用户名 --- 表示以什么用户身份连接到远程主机上,如果用当前用户连接,可以不指定用户。
“@”后面为要连接的服务器的IP
说明:更多用法,请man ssh
b scp命令使用方法
scp -P22 -rp /tmp/keke.log [email protected]:/tmp
-P(大写,注意和ssh命令的不同)接端口,默认22端口时可以省略-P22;
-r 递归,表示拷贝目录;
-p 表示在拷贝前后保持文件或目录属性;
-l limit 限制速度。
/tmp/oldboy为本地的目录。“@”前为用户名,“@”后为要连接的服务器的IP。
IP后的:/tmp目录,为远端的目标目录。
c sftp使用方法
sftp -oPort=52113 [email protected]
sftp -- 登录sftp模式命令
-oPort -- 指定ssh服务连接端口信息
keke -- 指定以什么身份进行登录
10.0.0.41 -- 指定登录sftp服务器ip地址
sftp> -- 显示sftp提示符,表示已经进入到sftp模式中
sftp> help -- 查看sftp模式中可以操作的命令
sftp> cd /backup --- 进入到远程服务器的相应目录中
sftp> pwd --- 显示远程的工作目录
sftp> get 1.txt --- 进行远程主机文件下载,默认文件下载到登录前目录中
sftp> mget xxx --- 进行远程主机文件批量下载(sftp服务没有这个命令)
sftp> lcd /tmp --- 进入到本地服务器的相应目录中
sftp> lpwd --- 显示本地的工作目录
sftp> put test.sh --- 进行本地数据文件上传
sftp> mput xxx --- 进行本地数据文件批量上传
谢谢大家的支持——ke.ke