Linux服务之SSH
SSH为Secure Shell缩写,由IETF的网络小组所制定。SSH为建立在应用层基础上的安全协议。SSH是目前较可靠的,为远程登录会话和其他网络服务提供安全性的协议。
使用格式:ssh USERNAME@HOSTNAME
注意:其中USERNAME是服务端的用户名称,HOSTNAME是服务器的访问地址。
1、修改默认端口
我们会经常使用如下命令远程控制你的Linux系统:
ssh USERNAME@HOSTNAME
在此条命令中,系统会自动链接服务器的22端口,因为ssh的默认端口是22。如果我们修改默认端口,同样可以增强系统的安全性。首先修改配置文件:
vim /etc/ssh/sshd_config
搜索关键词Port,如果该设置项有注释请去掉,并将数字改为你想设置的值。重启服务:
systemctl restart sshd
修改端口之后,连接的命令为:
ssh -p NEWPORT USERNAME@HOSTNAME
2、禁止root的登录
每一个Linux系统,都会有root用户,就像Windows系统都有Administrator一样。当黑客们去尝试破解你的服务器的密码时,他们肯定会尝试使用此用户名去登录,这样他们只需解决密码即可。那如果我们禁用了root用户而改用其它用户,那破解的难度就增加了。首先修改配置文件:
vim /etc/ssh/sshd_config
搜索关键词PermitRootLogin,如果该设置项有注释请去掉,并将阈值修改为no。重启服务:
systemctl restart sshd
3、使用证书登录
上面的两种方式可以提升服务器的安全性,但也并不是绝对的,毕竟端口号的范围是1-65535,而用户名是明文的,所以很多企业都会使用证书验证形式。首先在客户端生成证书文件:
ssh-keygen
一路回车即可,生成的证书一般会保存在~/.ssh/id_rsa.pub,需要上传到服务器:
scp ~/.ssh/id_rsa.pub USERNAME@HOSTNAME:~
然后在服务器将该证书,导入到验证文件中:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
之后客户端就可以用证书登录了:
ssh -i ~/.ssh/id_rsa USERNAME@HOSTNAME
4、保持持久连接
一般服务器都会设置无响应超时断开时间,即长时间未收到客户端的数据后,会自动断开与客户端的连接。就像电脑长时间未操作,系统会自动进入到休眠一样。有时候我们需要长时间保持连接,可以执行下面命令:
ssh -o ServerAliveInterval=60 USERNAME@HOSTNAME
如果感觉每次输入太过麻烦,也可以修改配置文件/etc/ssh/ssh_config,添加以下内容即可:
ServerAliveInterval 60
5、修改默认端口注意事项
很多服务器都会开启防火墙,在修改端口后,需要开放指定的端口号,使用iptables需执行下面命令:
iptables -I INPUT -p tcp --dport NEWPORT -j ACCEPT
NEWPORT为新端口号,如果是firewalld则需执行:
firewall-cmd --zone=public --add-port=NEWPORT/tcp --permanent
6、禁止root的登录注意事项
禁止了root登录之后,务必添加一个可登录的用户:
useradd USERNAME
之后可使用该用户登录,登录后可以切换至root管理服务器:
su -
7、使用证书登录注意事项
设置证书登录之后,就不再需要密码验证了,可以编辑配置文件禁用密码登录:
vim /etc/ssh/sshd_config
将里面的PasswordAuthentication改为no即可,记得重启服务生效:
systemctl restart sshd
8、使用SCP传文件
SSH除了可控制系统,还可以通过该通道传输文件,只是命令不同,传文件的命令为SCP,用法如下:
scp /PATH/FILENAME USERNAME@HOSTNAME:/PATH/FILENAME
该命令也可以传输目录,命令如下:
scp -r /PATH/DIRNAME USERNAME@HOSTNAME:/PATH/DIRNAME
转载于:https://www.cnblogs.com/renyz/p/11226846.html
Linux服务之SSH相关推荐
- Linux服务笔记之二:SSH远程登录
上次,写了用传统的telnet方法来远程管理服务器.今天,写下如何用SSH(Secure SHELL)协议来远程管理服务器.优点:因为SSH基于成熟的公钥加密体系,所以传输的数据会进行加密,保证数据在 ...
- Linux系统下SSH服务启动失败故障处理
Linux系统下SSH服务启动失败故障处理 一.系统版本 二.报错状态 三.处理方法 四.查看服务状态 一.系统版本 [root@localhost ~]# cat /etc/os-release N ...
- kali linux 的ssh服务器,如何在 Kali Linux 上安装 SSH 服务
目的 我们的目的是 Kali Linux 上安装 SSH(安全 shell). 要求 你需要有特权访问你的 Kali Linux 安装或者 Live 系统. 困难程度 很容易! 惯例 #– 给定命令需 ...
- Linux服务-SSH服务部署
Ubuntu部署ssh服务 简介 SSH是一种用于安全访问远程服务的网络协议,它将客户端与服务端之间的消息通过加密保护起来,取得一定的安全作用.本文主要介绍如何在Ubuntu下搭建SSH服务. 为什么 ...
- linux系统ssh服务无法启动,Linux上的SSH无法启动
问题 Linux上的SSH无法启动, 报告/var/empty/sshd must be owned by root and not group or world-writable 解决方案 首先通过 ...
- Linux服务篇之远程访问及控制SSH
文章目录 1 SSH 1.1 SSH 概念 1.2 SSH 优点 2 SSH 远程管理 2.1 SSH 远程登录方式 2.2 故障集 2.3 OpenSSH 服务器 2.4 OpenSSH 服务包 3 ...
- Linux运维学习:中级进阶(2)——Linux企业常用服务(SSH、DHCP、FTP、NFS、DNS)
SSH服务 简介 SSH(Secure Shell Protocol) 是由IETF网络工作小组制定,在进行数据传输之前,SSH先对联级数据包通过加密技术进行加密处理,加密后在进行数据传输,确保了传递 ...
- 云计算Linux运维——基础服务应用——SSH远程连接(1)
点关注不迷路 目录 点关注不迷路 SSH远程连接 一.SSH介绍 1.管理Linux服务器的方式 2.确保Linux服务正常运行 3.客户端软件 二.ssh远程连接操作 1.ssh远程连接 2.执行远 ...
- 【Linux】循序渐进学运维-服务篇-SSH秘钥认证
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第5篇文章 文章目录 前言 为什么用密钥认证 秘钥认证流程 秘钥生成及使用 1. 交互式创建及分发秘钥 a) 生成秘钥 b) 分发秘钥 ...
最新文章
- 2020-10-26runtime error: member access within null pointer of type ‘struct ListNode‘ (solution.cpp)错
- 【开机自启】属于你的个性化!八步完成喜欢的软件开机自启!
- ie6中容器内浮动元素的border边框不完全显示的bug
- 让Python删除window下文件
- oracle中least()和greastest()函数的使用,其中还包含一些if...then..elseif的使用
- 每日算法系列【LeetCode 123】买卖股票的最佳时机 III
- linux+shell+解压命令,linux shell解压命令
- 摄氏度和开氏度的换算_开氏度和摄氏度
- 计算机 本科专业 课程
- android 剪贴板增强工具,ClipX - 超级实用的小巧剪贴板增强工具
- 超声波模块的原理介绍之时间函数和digitalRead函数的使用
- 你还在用乞丐版的深拷贝么
- 嵌入式应该怎么去学?-熊健-专题视频课程
- 什么样的面试更有效?
- stimulsoft入门教程:报表与页面上的图表(一)
- CLUSTER 05: 块存储应用案例 分布式文件系统 对象存储
- 教师节,回忆一点(更新完毕)
- 泛型在Android中的应用
- Python Numpy .npy文件打开
- 机器人行业五大趋势:中国成为机器人投资狂热爱好者
热门文章
- `if __name__ == __main__`模块运行代码管理
- 视频: 电子制作基本知识
- ASP.NET 安全性
- 漫步最优化四十三——拟牛顿法
- 漫步微积分十七——最大最小值问题(续)
- vector中删除元素后,如何有效的释放无效元素的内存
- 使用git将本地文件上传到远程仓库
- leetcode —— 面试题 16.19. 水域大小
- django+mysql+插入数据库网页展示内容
- A. Gamer Hemose