Secure Shell

CentOS7.3学习笔记总结(十五)

拥有回忆 提交于 2020-04-06 05:13:34
SSH是Secure Shell的缩写,专为远程登录会话和其他网络服务提供安全性的协议远程登录会话和其他网络服务提供安全性的协议,比传统的明文telnet传送安全。SSH两种级别的安全认证:基于口令的安全认证和基于秘钥的安全认证。 1、安全性优化 Linux系统SSH服务的默认登录端口号是大家都知道的22,为了增强安全。我们要改掉默认的管理员root和端口号,我们可以修改配置文件/etc/ssh/sshd_config: #port 22 修改为:注释去掉 port 5122 #PermitRootLogin yes 修改注释去掉 PermitRootLogin no,禁止root远程登录 执行: systemctl restart sshd.service 命令生效 2、SSH远程连接服务慢的优化 SSH远程连接服务慢的主要原因是DNS解析导致,解决办法: 修改配置文件 /etc/ssh/sshd_config: #UseDNS yes 修改为:注释去掉 UseDNS no GSSAPIAuthentication yes修改为:GSSAPIAuthentication no 执行: systemctl restart sshd.service 命令生效 这样 SSH 远程连接就快多了。 来源: oschina 链接: https://my.oschina.net/u

为特定的用户或用户组启用或禁用 SSH

我与影子孤独终老i 提交于 2020-03-24 14:25:41
3 月,跳不动了?>>> 什么是 SSH ? openssh 全称为 OpenBSD Secure Shell。Secure Shell(ssh)是一个自由开源的网络工具,它能让我们在一个不安全的网络中通过使用 Secure Shell(SSH)协议来安全访问远程主机。 它采用了客户端-服务器架构(C/S),拥有用户身份认证、加密、在计算机和隧道之间传输文件等功能。 我们也可以用 telnet 或 rcp 等传统工具来完成,但是这些工具都不安全,因为它们在执行任何动作时都会使用明文来传输密码。 如何在 Linux 中允许用户使用 SSH? 通过以下内容,我们可以为指定的用户或用户列表启用 ssh 访问。如果你想要允许多个用户,那么你可以在添加用户时在同一行中用空格来隔开他们。 为了达到目的只需要将下面的值追加到 /etc/ssh/sshd_config 文件中去。 在这个例子中, 我们将会允许用户 user3 使用 ssh。 # echo "AllowUsers user3" >> /etc/ssh/sshd_config 你可以运行下列命令再次检查是否添加成功。 # cat /etc/ssh/sshd_config | grep -i allowusers AllowUsers user3 这样就行了, 现在只需要重启 ssh 服务和见证奇迹了。(下面这两条命令效果相同,

SSH协议的基础知识

天大地大妈咪最大 提交于 2020-01-06 16:03:04
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 背景 因为一些原因,把github.io重新在github搭建一下,但是 hexo deploy 去提交代码的时候,发生代码提交失败的情况。原来在GIS90.github.io Repository上没有进行 Deploy keys 的配置,导致push失败。 配置好 Deploy keys 的配置,代码成功提交,但是为何配置完key就可以成功提交呢?原理是 SSH协议 。 定义 The SSH protocol uses encryption to secure the connection between a client and a server. All user authentication, commands, output, and file transfers are encrypted to protect against attacks in the network. For details of how the SSH protocol works, see the protocol page. To understand the SSH File Transfer Protocol, see the SFTP page. The SSH protocol (also referred

SSH服务简介

给你一囗甜甜゛ 提交于 2019-12-24 14:27:34
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> SSH 是 secure shell protocol 的简写,是专为远程登录会话和其他网络服务提供安全性的协议,SSH 服 务默认端口为22,ssh默认提供了两个协议: 1. SSH 服务 2. SFTP 服务, SSH 服务由服务端软件 OpenSSH和 客户端(SSH 命令, XSHell 等),它有两个不兼容的协议版本,分别为1.X,2.X,SSH 服务后端的守护进程名称 为: sshd,负责实时监听 SSH 客户端连接请求并进行处理,ssh 客户端包括ssh 程序以及 scp, sftp 等应用 程序 查看 SSH 安装信息 [root@localhost ~]# rpm -qa openssh openssh-7.4p1-11.el7.x86_64 SSH 配置文件 # ssh 服务端配置文件 [root@localhost ~]# ls /etc/ssh/sshd_config /etc/ssh/sshd_config # ssh 客户端配置文件 [root@localhost ~]# ls /etc/ssh/ssh_config /etc/ssh/ssh_config ssh 连接建立流程 1. 服务端 sshd 服务启动会生成一个秘钥对,存放在 server 中 2. client

Linux下配置SSH免密通信 – “ssh-keygen”的基本用法

╄→гoц情女王★ 提交于 2019-12-04 21:51:40
导读 利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。 1 什么是SSH 引用百度百科的说明: SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;它是建立在应用层基础上的安全协议。 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。 SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。 为了在不同平台/网络主机之间的通信安全, 很多时候我们都要通过ssh进行认证. ssh认证方式主要有2种: ① 基于口令的安全认证: 每次登录的时候都要输入用户名和密码, 由于要在网络上传输密码, 可能存在中间人攻击的风险; ② 基于密钥的安全认证: 配置完成后就可以实现免密登录, 这种方式更加安全 —— 不需要在网络上传递口令, 只需要传输一次公钥. 常见的git的ssh方式就是通过公钥进行认证的. 2 配置SSH免密登录 说明: 这里演示所用的服务器操作系统是Cent OS 7. 我们的目标是: A服务器(172.16.22.131) 能免密登录 B服务器 (172.16.22.132). 注意: ssh连接是单向的, A能免密登录B,

大数据教程(1.8):Linux之SSH免密登录配置

谁说我不能喝 提交于 2019-12-01 23:09:24
在工作中,有很多时候,我们需要使用自动化脚本远程安装软件或者执行程序。此时必须要实现免密码登录才好做相应操作。 博主今天就详细的分享Linux之间的ssh免密码登录配置过程,帮助小白们理解并掌握SSH。首先,在开始之前,我们来了解下SSH。 一、什么是SSH? SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。 二、SSH基本用法 ssh命令用于远程登录上Linux主机。 常用格式:ssh [-l login_name] [-p port] [user@]hostname 更详细参数配置的可以用ssh -h查看 不指定用户,默认使用root账户登录   ssh 192.168.29.129 指定用户:   ssh -l root 192.168.29.129   ssh

用Python怎么SSH到网络设备

ⅰ亾dé卋堺 提交于 2019-11-30 16:50:32
[ TOC ] 0. 前言 自上一篇文章《用python怎么telnet到网络设备》,简单使用了telnetlib库给大家演示了下,但是,现实环境中仍不建议去使用telnet。 SSH(Secure Shell)协议也是属于TCP/IP协议族里的一种,端口号22,可以代替telnet来远程管理的一种方法。 SSH提供了双向认证、数据加密等方法保证数据的安全性,推荐使用SSHv2版本 1. 测试环境及关键代码解释 1.1 简单测试环境 使用python3环境 使用第三方Netmiko模块(基于Paramiko库进行改版) 简单的实验环境 1.2 关键代码 import xx:导入模块 class xx:定义类 def xx: 定义函数 try-except :处理可能引发的异常 ssh.enable():进入enable模式 ssh.find_prompt():返回当前提示符 ssh.send_command():发送查询命令并返回结果 ssh.send_config_set():发送配置命令到目标设备 ssh.disconnect():关闭连接 Tips : import ConnectHandler和import Netmiko是一样的效果的哈。 2. 完整代码 ''' 欢迎关注微信公众号:'diandijishu' 此平台是网路工程师个人日常技术、项目案例经验分享,

SSH Secure Shell 工具 ,linux中文乱码问题的解决方法

筅森魡賤 提交于 2019-11-29 12:03:13
这是SSH Secure Shell Client多年未解决的短板,要求客户端和服务器端都要‘UTF-8’编码,Windows中文版的编码是非UTF-8。zh_CN.UTF-8是UTF编码的中文语言环境。 Windows使用的是GB2312编码,大多数linux系统支持的是UTF-8编码,而远程登陆时使用的是本地编码,所以会出现乱码的问题;现有几种解决方案: 以下方案一存在一定风险 ,切勿在生产环境中乱改linux的语言环境变量,尤其是root,个人觉得语言环境变量会影响到一些软件的启动和运行。 方案一:修改linux服务器的环境变量 使用linux,在用户根目录下有一个.bash_profile配置文件,该配置只对当前用户有效.若对所有的用户有效,修改/etc/profile文件 使用ls -a命令可以查看到该文件.使用vi编辑器打开该文件后,在其中加入 LANG=zh_CN.GB2312 export LANG 根据【鸟哥的linux私房菜】中无需重启或注销即可使配置生效的方法如下 修改完毕后,回到命令行输入: source .bash_profile或. .bash_profile (两个点中间有空格) 重新加载一次配置 但是,在修改回到乱码的状态,重新加载无效,需要退出ssh工具的本次连接,重新连接一次linux系统,就会发现又回到中文乱码的状态了 ^_^ 来源: