ssh登陆linux服务器 实际场景讲解 让你管理服务器更安全
很多时候我们管理linux系统,都谁使用ssh登陆,因为都知道ssh是加密传输的协议的,可以有效保证我们与
服务器之间的数据通信安全。但是我们忽略了一点,但是登陆的时候我们是输入的账号和密码,这一点其实也
是不安全的,同时这样也不符合实际业务场景,比如多人要登陆一个服务器进行管理,都告诉密码的话,甚至都告诉
root密码的话这就更不安全了,很容易就造成了root权限的泄漏,到时候都是运维背黑锅的时候,那么我们
还是为了安全,全场使用证书登录和加密管理吧,本位就介绍下如果使用ssh的证书登录。
一、基本原理和步骤介绍:
证书登录的步骤 1.客户端生成证书:私钥和公钥,然后私钥放在客户端,妥当保存,一般为了安全,访问有黑客拷贝客户端的私钥,客户端在生成私钥时,会设置一个密码,以后每次登录ssh服务器时,客户端都要输入密码解开私钥(如果工作中,你使用了一个没有密码的私钥,有一天服务器被黑了,你是跳到黄河都洗不清)。 2.服务器添加信用公钥:把客户端生成的公钥,上传到ssh服务器,添加到指定的文件中,这样,就完成ssh证书登录的配置了。 假设客户端想通过私钥要登录其他ssh服务器,同理,可以把公钥上传到其他ssh服务器。 真实的工作中:员工生成好私钥和公钥(千万要记得设置私钥密码),然后把公钥发给运维人员,运维人员会登记你的公钥,为你开通一台或者多台服务器的权限,然后员工就可以通过一个私钥,登录他有权限的服务器做系统维护等工作,所以,员工是有责任保护他的私钥的,如果被别人恶意拷贝,你又没有设置私钥密码,那么,服务器就全完了,员工也可以放长假了。
二、客户端如何使用呢?
客户端建立私钥和公钥
在客户端终端运行命令 #ssh-keygen -t rsa rsa是一种密码算法,还有一种是dsa,证书登录常用的是rsa。 假设用户是blue,执行 ssh-keygen 时,才会在我的home目录底下的 .ssh/ 这个目录里面产生所需要的两把 Keys ,分别是私钥 (id_rsa) 与公钥 (id_rsa.pub)。 另外就是私钥的密码了,如果不是测试,不是要求无密码ssh,那么对于passphrase,不能输入空(直接回车),要妥当想一个有特殊字符的密码。
三、服务端如何使用呢?
3、1首先是服务器端的ssh配置文件安全加固
vim /etc/ssh/sshd_config
#禁用root账户登录,非必要,但为了安全性,请配置
PermitRootLogin no # 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no # 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys #有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no
3、2 配置好ssh服务器的配置了,那么我们就要把客户端的公钥上传到服务器端,然后把客户端的公钥添加到authorized_keys
在客户端执行命令
scp ~/.ssh/id_rsa.pub blue@<ssh_server_ip>:~
服务端添加到认证文件:
cat id_rsa.pub >> ~/.ssh/authorized_keys
重启ssh服务器
/etc/init.d/ssh restart
四、配置完成后,我们如何在实际业务场景中登陆服务器
ssh登陆方法:
ssh -i /blue/.ssh/id_rsa blue@<ssh_server_ip>
ssh方式进行scp文件传输用法:
scp -i /blue/.ssh/id_rsa filename blue@<ssh_server_ip>:/blue
当然如果每次使用都要加载私钥,我们可以把私钥文件配置在配置文件中
#其实默认id_rsa就已经加入私钥的路径了,这里只是示例而已
IdentityFile ~/.ssh/id_rsa
#如果有其他的私钥,还要再加入其他私钥的路径
IdentityFile ~/.ssh/blue_rsa
至此为止,我们学习了如何进行私钥登陆的方法,保证远程管理安全。赶快加固我们的服务器去吧。
ssh登陆linux服务器 实际场景讲解 让你管理服务器更安全的更多相关文章
- python通过SSH登陆linux并操作
使用python通过SSH登陆linux并操作 用的昨天刚接触到的库,在windows下通过paramiko来登录linux系统并执行了几个命令,基本算是初试成功,后面会接着学习的. 代码: > ...
- Mac ssh登陆linux并且显示linux图形
背景: Mac 通过[终端]ssh登陆linux并且在Mac显示linux图形 Mac 主机IP: 10.2.1.1 linux 主机IP: 192.168.1.1 说明: 想要ssh访问并且显示li ...
- 【快速查阅】Linux下启动和关闭Weblogic(管理服务器+被管服务器)
Weblogic的管理服务器和被管服务器的启动.关闭,偶尔会用到,却又不常用,导致需用时却忘记了,而又重新查阅HELP. 故,以此记录,方便查阅.执行. 首先,weblogic的启动脚本和关闭脚本都在 ...
- 转载:Linux下启动和关闭Weblogic(管理服务器+被管服务器)
转载自:http://www.cnblogs.com/nick-huang/p/3834134.html 感谢! Weblogic的管理服务器和被管服务器的启动.关闭,偶尔会用到,却又不常用,导致需 ...
- 使用python通过SSH登陆linux并操作
用的昨天刚接触到的库,在windows下通过paramiko来登录linux系统并执行了几个命令,基本算是初试成功,后面会接着学习的. 代码: >>> import paramiko ...
- Term Term ssh登陆linux后 显示乱码
setup----terminal----locale----“chinese” OK!!!!!
- VPS服务器利用WINSCP软件进行SFTP管理服务器文件
虽然我使用VPS时间也不是很久,但是我善于进行统计和分析,从我在的一些VPS交流QQ群中,可以看到基本上使用搬瓦工VPS的站长群中新手较多,甚至很多人都搞不明白VPS与V-P-N的区别都直接选择VPS ...
- Linux ssh登陆慢的两种原因分析
Linux ssh登陆慢的两种原因分析 如果做运维就一定会遇到ssh登陆Linux服务器慢的问题,问题比较好解决,一般Google之后有很多文章都告诉你解决方法,但是很少有文章分析为什么会慢,这篇文章 ...
- 运维自动化管理服务器 CheungSSH
CheungSSH 是一款中国人自主研发的Linux运维自动化管理服务器软件,后端使用 Python 语言+Django 的 Web 框架,前端使用 Bootstrap+Javascript+jQue ...
随机推荐
- 求逆序对 ----归并排 & 树状数组
网上看了一些归并排求逆序对的文章,又看了一些树状数组的,觉得自己也写一篇试试看吧,然后本文大体也就讲个思路(没有例题),但是还是会有个程序框架的 好了下面是正文 归并排求逆序对 树状数组求逆序对 一. ...
- tomcat apr 部署
背景 这还是为了高并发的事,网上说的天花乱坠的,加了apr怎么怎么好,我加了,扯淡.就是吹牛用.我还是认为,性能问题要考设计逻辑和代码解决,这些都是锦上添花的. 步骤 1 windows 部署简单,虽 ...
- 微信小程序-WebSocket应用
为何有 HTTP 协议还需要 WebSocket ? Http协议 有个缺陷:通信只能由客户端发起.举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果.HTTP 协议做不 ...
- Spring+Hibernate 多数据源不同事务创建
环境:Spring 3.0 ,Hibernate 3.5 ,同类型数据库(DB2) 编前语:此片仅粗略的描述使用Spring和Hibernate采用注入方式管理多数据源在不同事务的情况下使用的方法. ...
- MVC之基架
参考 ASP.NET MVC5 高级编程(第5版) 定义: 通过对话框生成视图及控制器的模版,这个过程叫做“基架”. 基架可以为应用程序的创建.读取.更新和删除(CRUB)功能生成所需的样板代码.基架 ...
- python序列(列表,元组,字典)的增删改查
列表 操作 列表 方法 示例 增加 list.append(obj) 增加元素到末尾 eg. >>> list1=['hello','world','how','are','you' ...
- python学习第39天
# 数据操作 # 增 # 删 # 改 # 查 # 单表查询 # 多表查询
- java学习——异常处理
类 Throwable类 Java 语言中所有错误或异常的超类.只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw语句抛出.类似地,只有此类 ...
- Confluence 6 使用 Apache 的 mod_jk
在 Confluence 6 及其后续版本中,不能使用 mod_jk 来做代理.这是因为 Synchrony 服务导致的这个限制. Synchrony 在协同编辑的时候需要启动,同时还不能接受 A ...
- Confluence 6 注册单一小工具
如果你不能订阅一个应用的小工具,你需要将小工具一个一个的添加进来.针对网站不支持小工具订阅和你的应用和你的 Confluence 不能建立信任连接的情况,你就只能这样添加了. 首先你需要获得小工具的 ...