linux ssh管理

linux centos7 ssh 常用管理和配置
默认放行ssh服务,不受firewalld-cmd的规则限制

远程连接

	使用当前宿主用户的名称登录		
		ssh ip	
			
	指定用户名		
		ssh name@ip	
			
	指定本机的ip(多ip情况下切换)		
		ssh -b ip name@ip	
			
	当前服务器A远程登录服务器B后执行某个命令		
		ssh omd@192.168.1.100 "ls /home/omd"	
			
	当前服务器A远程登录服务器B后执行某个脚本		
		ssh omd@192.168.1.100 -t "sh /home/omd/ftl.sh"	
			
	指定连接端口		
		ssh -p 10002 name@ip	

查看已知主机

cat /root/.ssh/known_hosts		

ssh配置文件位置

/etc/ssh/sshd_config		

ssh日志文件位置

日志文件		
/var/log/wtmp		
/var/log/btmp		
/var/log/lastlog		
/var/log/secure		

清除 SSH 登录日志使用下面命令

cat /dev/null > /var/log/wtmp		
cat /dev/null > /var/log/btmp		
cat /dev/null > /var/log/lastlog		
cat /dev/null > /var/log/secure		

更改 ssh端口

	修改ssh配置 ,新增Port 10001,打开Port 22						
		vi /etc/ssh/sshd_config					
							
	安装 semanage(semanage无法执行时)						
		yum provides semanage(查看依赖关系)					
		yum -y install policycoreutils-python					
							
		在 RHEL 8 及 CentOS 8 只要用 dnf 安裝 policycoreutils-python-utils 套件即可:					
			dnf install policycoreutils-python-utils				
							
	增加SElinux端口						
		semanage port -a -t ssh_port_t -p tcp 10001					
							
	查看是否添加成功						
		semanage port -l | grep ssh					
							
	防火墙开放端口						
		firewall-cmd --zone=public --add-port=10001/tcp --permanent					
							
	重启防火墙						
		firewall-cmd --reload					
							
	查看防火墙端口						
		firewall-cmd --list-ports					
							
	重启ssh服务						
		systemctl restart sshd.service					
							
	测试两个端口都可成功连接后, 移除22端口						
							
		firewall-cmd --permanent --zone=public --remove-port=22/tcp					
		firewall-cmd --remove-service=ssh --permanent					
		firewall-cmd --reload					

未测试:

修改自动断开连接时间

	vim /etc/ssh/sshd_config	
		ClientAliveInterval对应的0改成60,
		ClientAliveCountMax, 使用默认值3即可.
		
		ClientAliveInterval指定了服务器端向客户端请求消息 的时间间隔, 默认是0, 不发送.
		ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了.
		
		ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开.
		 正常情况下, 客户端不会不响应.
		
	重启sshd服务:	
		service sshd restart
		
	或者 :	未测试
	为了增强Linux系统的安全性,我们需要在用户输入空闲一段时间后自动断开,这个操作可以由设置TMOUT值来实现。	
	将以下字段加入到/etc/profile 中即可(对所有用户生效)。	
		export TMOUT=900    # 设置900秒内用户无操作就字段断开终端
		readonly TMOUT     # 将值设置为readonly 防止用户更改
	 	
	注意:设置了readonly 之后在当前shell下是无法取消的,需要先将/etc/profile 中设置readonly行注释起来或直接删除,logout 后重新login 。	
		
	$ export TMOUT=900	
	$ readonly TMOUT	
	$ unset TMOUT	
	 -bash: unset: TMOUT: cannot unset: readonly variable	
posted @ 2022-02-11 11:10  tangshow  阅读(91)  评论(0编辑  收藏  举报