SSH远程访问控制
一、SSH远程访问控制
1、概述
SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息
特点:
1.SSH是安全的加密协议,用于远程连接Linux服务器
2.SSH的默认端口是22,安全协议版本是SSH2
3.SSH服务器端主要包含2个服务功能SSH连接和SFTP服务器 4.SSH客户端包含ssh连接命令和远程拷贝scp命令等
用法:
ssh的客户端可以用 XSHELL,Securecrt, Mobaxterm等工具进行连接
SSH (Secure Shell) 协议是一种安全通道协议,对通信数据进行了加密处理,用于远程管理
2、openssh
openssh是实现SSH协议的开源软件项目,适用于各种unix、linux操作系统。默认系统已安装。
3、配置文件
服务端主程序: /usr/sbin/sshd
服务端配置文件: /etc/ssh/sshd_ config
客户端配置文件: /etc/ssh/ssh_ config
4、配置文件(/etc/ssh/sshd_config)解析
1、端口:
2、秘钥:
用来设置服务器秘钥文件的路径,这里默认就好
每个加密算法放的文件位置是不一样的
3、安全设定:
4、开启公钥:
5、开启密码认证:
6、DNS:
默认使用dns yes。 通过dns查看域名,做域名解析
7、修改防火墙
进入配置文件 /etc/selinux/config
二、基本配置
rpm -qa openssh openssl // 查询openssl软件
ps -ef | grep ssh //#查询sshd进程
--> /usr/sbin/sshd
netstat -lntup | grep ssh // 查看ssh端口
ss | grep ssh (效果同上,同下,好用)
netstat -a | grep ssh
netstat -lnt | grep 22 ==> 查看22端口有没有开/ssh服务有没有开启
技巧: netstat -lnt | grep ssh | wc -l -->只要大于2个就是ssh服务就是好的
ll /root/.ssh/known_hosts //查看ssh的秘钥目录,当前用户家目录的.ssh目录下
cat /etc/ssh/sshd_config //ssh的配置文件
service stop/start sshd //ssh服务的关闭/开启
service reload sshd //[停止进程后重启] ==> 推荐(restart不推荐)
ssh远程登录
ssh root@192.168.1.100 -o stricthostkeychecking=no //首次登陆免输yes登录
ssh root@192.168.152.130 //登录
cat /root/.ssh/known_hosts //查看已知主机
ssh root@192.168.1.100 "ls /home/omd" //当前服务器A远程登录服务器B后执行某个命令
ssh root@192.168.1.100 -t "sh /home/omd/ftl.sh" //当前服务器A远程登录服务器B后执行某个脚本
scp :
1.功能 -->远程文件的安全(加密)拷贝
scp -P22 -r -p /home/omd/h.txt omd@192.168.25.137:/home/omd/
2.scp知识小结
scp是加密远程拷贝,cp为本地拷贝
可以推送过去,也可以拉过来
每次都是全量拷贝(效率不高,适合第一次),增量拷贝用rsync
2.sftp客户端连接
sftp -oPort=22 root@192.168.25.137
put /etc/hosts /tmp
get /etc/hosts /home/omd
sftp小结:
1.linux下使用命令: sftp -oPort=22 root@x.x.x.x
2.put加客户端本地路径上传
3.get下载服务器端内容到本地
4.远程连接默认连接用户的家目录