Linux Code Coding Program Computer  - clarkdonald413 / Pixabay

Centos7在SeLinux下修改SSH端口

一、修改ssh端口 vi /etc/ssh/sshd_config 找到 #Port 22 修改为: Port 2018 //修改为你想要的端口号 二、修改firewall配置 firewall添加修改的ssh端口: firewall-cmd –zone=public –add-port=2018/tcp –permanent 重启: firewall-cmd –reload 查看添加端口是否成功,如果添加成功则会显示yes,否则no firewall-cmd –zone=public –query-port=2018/tcp 三、修改SELinux 检查semanage是否安装 rpm -qa |grep policycoreutils-python 若未安装,请先安装工具包 yum install policycoreutils-python 查看当前selinux允许的端口 semanage port -l |grep ssh 添加新端口 semanage port -a -t ssh_port_t -p tcp 2018 检查是否添加成功 semanage 阅读更多…

三种办法彻底解决SSH的 Write failed: Broken pipe 问题

问题描述 在使用SSH连接远程服务器的时候,如果长时间不操作,再次进入 Terminal 时就会有卡死一段时间没有响应。等待一段时间以后,会发现以下错误提示: Write failed: Broken pipe 这表示连接管道已经断开,所以只能重进行连接。 解决方法 方法一:客户端配置(SSH出去的这台机器上) 在客户端的 ~/.ssh/ config文件(如不存在请自行创建)中添加下面内容: ServerAliveInterval 60 方法二:服务器端配置(SSH到的这台机器上) 在服务器的 /etc/ssh/sshd_config 中添加如下的配置: ClientAliveInterval 60 方法三:临时SSH命令配置(每次SSH都需要添加) 如果只是临时性的连接(即只作用于当前SSH),可以直接使用 ssh 命令参数进行配置。 $ ssh -o ServerAliveInterval=60 user@sshserver 原理 出于保护的资源能够合理利用,系统会对SSH的连接进行自动回收,其回收原则是一个连接在规定的限制时间内没有数据传输就认定为超时,然后就会主动断开连接。基于这个原则,如果想要保持连接,只需要在超时前发送一个空数据包即可。 方法一和方法三是客户端主动发消息,而方法二是服务器端主动发消息。这两方法各有利弊,简单说一下区别。 对于客户端在线状态相对自由,可以随时上线和下线。这样的话,如果下线了,那么就无法继续发送消息,这样即使设置了 ServerAliveInterval=60,消息因掉线而无法发出。所以超时后,仍然会掉线。 对于服务器端,在设置了防掉线后,如果客户端掉线了,会根据 ClientAliveCountMax 进行反复测试,如果超过测试次数,仍然也会掉线。所以总体上可靠性比客户端的方式更好。不过需要注意的事,当服务器的连接数量较多时会产生一定的资源浪费。

设置免密码ssh后出现key_load_public: invalid format

导致key_load_public: invalid format这个原因由于ssh-agent不了解公钥的格式的一个警告,公钥也不会在本地被使用。 简单地归结为密钥生成时的格式问题,这是由于生成两种不同的公钥格式。 注意:在本文中,我将使用/生成的关键文件将以id_rsa适当的扩展名命名。此外,为了方便复制粘贴,将假定密钥的默认文件夹是~/.ssh/ 你可以根据实际情况来进行调整 SSH-2 当您保存使用的关键PuTTY密钥生成使用“保存公钥”按钮,它将被保存在由定义的格式RFC 4716。 例: —- BEGIN SSH2 PUBLIC KEY —- Comment: “github-example-key” AAAAB3NzaC1yc2EAAAABJQAAAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYF i2fSBrsGcmqeb5EwgnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcp pY0fhRSGtWL5fT8DGm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3 oMrongEjGw7sDP48ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEA ip3mL20+qHNsHfW8hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9 tBjh7cOyuU/c4M4D6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElw== —- END SSH2 PUBLIC KEY —- OpenSSH 与流行的看法相反,这种格式不会被生成器保存。但是它会生成并显示在标题为“粘贴到OpenSSH authorized_keys文件的公钥”的文本框中。要将其另存为文件,您必须从文本框中手动复制它并将其粘贴到新的文本文件中。 对于上面显示的键,这将是: ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7 +Si9WYFi2fSBrsGcmqeb5EwgnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmw LBHxcppY0fhRSGtWL5fT8DGm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3Dzn VzIm3oMrongEjGw7sDP48ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9n TyEAip3mL20+qHNsHfW8hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3 bA9tBjh7cOyuU/c4M4D6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElw== github-ex ample-key 密钥的格式很简单ssh-rsa ,可以通过重新排列SSH-2格式的文件来创建。 重新生成公钥 如果您正在使用ssh客户端,您可能也可以访问ssh-keygen。 如果您有OpenSSH私钥(id_rsa文件),则可以使用以下命令生成OpenSSH公钥文件: ssh-keygen -f 阅读更多…

每个Linux用户应该知道的7个高级的’ls’命令技巧

我们在采访系列的最后两篇文章中介绍了’ls’命令中的大部分内容。本文是’ ls命令 ‘系列的最后一部分。如果您还没有阅读本系列的最后两篇文章,请访问以下链接。 15 Linux中的基本’ls’命令示例 按上次修改日期和时间排序’ls’命令的输出 15关于Linux“ls”命令的访谈问题 – 第1部分 10个有用的’ls’命令面试问题 – 第2部分 1.使用各种时间样式列出目录的内容。 要使用样式列出目录的内容,我们需要选择以下两种方法中的任何一种。 # ls -l –time-style=[STYLE] (Method A) 注 – 上面的开关(–time样式必须用switch运行-l,否则它不能用于此目的)。 # ls –full-time (Method B) 替换[STYLE]为以下任何选项。 full-iso long-iso iso locale +%H:%M:%S:%D 注 – 在上面的行H(小时),M(分钟),S(秒),D(日期)可以按任何顺序使用。 此外,您只需选择那些相关而非所有选项。例如,ls -l –time-style=+%H只会显示一小时。 ls -l –time-style=+%H:%M:%D 将显示小时,分钟和日期。 # ls -l –time-style=full-iso # ls 阅读更多…

Linux中20个YUM(Yellowdog Updater,Modified)管理Package

在本文中,我们将学习如何使用RedHat开发的YUM(Yellowdog Updater Modified)工具在Linux系统上安装,更新,删除,查找软件包,管理软件包和存储库。本文中显示的示例命令在CentOS 6.3服务器上进行了实际测试,您可以将这些材料用于研究目的,认证或仅探索安装新软件包的方法并使您的系统保持最新状态。本文的基本要求是,您必须对命令和Linux操作系统有基本的了解,您可以在其中探索和练习下面列出的所有命令。 什么是YUM? YUM(Yellowdog Updater Modified)是一个开源命令行,也是基于RPM(RedHat Package Manager)的Linux系统的基于图形的包管理工具。它允许用户和系统管理员轻松安装,更新,删除或搜索系统上的软件包。它由Seth Vidal根据GPL(通用公共许可证)开发和发布,作为开源,意味着任何人都可以下载和访问代码来修复错误并开发定制包。YUM使用大量第三方存储库通过解决其依赖性问题自动安装包。 1.使用YUM安装包 要安装名为Firefox 14的软件包,只需运行以下命令,它将自动查找并安装Firefox所需的所有依赖项。 # yum install firefox Loaded plugins: fastestmirror Dependencies Resolved ================================================================================================ Package Arch Version Repository Size ================================================================================================ Updating: firefox i686 10.0.6-1.el6.centos updates 20 M Updating for dependencies: xulrunner i686 10.0.6-1.el6.centos updates 12 M Transaction Summary ================================================================================================ Install 阅读更多…

Linux中15个ls的基本命令使用场景

ls命令是Linux中最常用的命令之一。我相信ls命令是你学习Linux时的第一条Shell命令。 我们每天使用ls命令并经常使用,即使我们可能不知道并且从不使用所有可用的ls选项。在本文中,我们将讨论基本的ls命令,其中我们试图尽可能多地覆盖参数。 1.使用ls列出文件(不使用任何附加参数) ls如果没有使用附加参数列表文件和目录,我们将无法查看文件类型,大小,修改日期和时间,权限和链接等详细信息。 # ls 0001.pcap Desktop Downloads index.html install.log.syslog Pictures Templates anaconda-ks.cfg Documents fbcmd_update.php install.log Music Public Videos 2.使用选项-l列出文件 这里,ls -l(-l是字符而不是数字1)显示文件或目录,大小,修改日期和时间,文件或文件夹名称以及文件所有者及其权限。 # ls -l total 176 -rw-r–r–. 1 root root 683 Aug 19 09:59 0001.pcap -rw——-. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg drwxr-xr-x. 2 root root 阅读更多…

Linux中13个cat的基本命令使用场景

cat(“ concatenate ”的缩写)命令是Linux / Unix操作系统中最常用的命令之一。cat命令允许我们创建单个或多个文件,查看包含文件,连接文件以及在终端或文件中重定向输出。在本文中,我们将在Linux中找到方便使用cat命令及其示例的方法。 另 请参阅:学习如何在Linux中使用’cat’和’tac’(反向cat命令) 一般语法 cat [OPTION] [FILE]… 1.显示文件内容 在下面的示例中,它将显示/ etc / passwd文件的内容。 # cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin narad:x:500:500::/home/narad:/bin/bash 2.查看终端中多个文件的内容 在下面的例子中,它将在终端中显示test和test1文件的内容。 # cat test test1 Hello everybody Hi world, 3.使用Cat命令创建文件 我们将使用以下命令创建一个名为test2 file的文件。 # cat >test2 等待用户输入,键入所需文本并按CTRL + D(按住Ctrl键并键入“ d ”)退出。该文本将写在test2文件中。您可以使用以下cat命令查看文件内容。 # cat test2 hello everyone, how do 阅读更多…

Linux中的18个Tar命令示例

Linux“ tar ”代表磁带归档,大量Linux/Unix 系统管理员使用它来处理磁带驱动器备份。tar命令用于将文件和目录集合转换为高度压缩的归档文件,通常在Linux中称为tarball或tar,gzip和bzip。tar是最广泛使用的命令,用于创建压缩归档文件,并且可以轻松地从一个磁盘移动到另一个磁盘或机器到机器。 在本文中,我们将回顾和讨论各种tar命令示例,包括如何使用(tar,tar.gz和tar.bz2)压缩创建归档文件,如何提取归档文件,提取单个文件,查看文件内容,验证文件,添加文件或目录到存档文件,估计tar存档文件的大小等。 本指南的主要目的是提供各种tar命令示例,这些示例可能有助于您理解并成为tar归档操作的专家。 1.创建tar存档文件 以下示例命令将为当前工作目录中的目录/home/tecmint创建tar归档文件tecmint-14-09-12.tar。请参阅示例命令。 # tar -cvf tecmint-14-09-12.tar /home/tecmint/ /home/tecmint/ /home/tecmint/cleanfiles.sh /home/tecmint/openvpn-2.1.4.tar.gz /home/tecmint/tecmint-14-09-12.tar /home/tecmint/phpmyadmin-2.11.11.3-1.el5.rf.noarch.rpm /home/tecmint/rpmforge-release-0.5.2-2.el5.rf.i386.rpm 让我们讨论我们在上面的命令中用于创建tar归档文件的每个选项。 c – 创建新的.tar存档文件。 v – 详细显示.tar文件的进度。 f – 存档文件的文件名类型。 2.创建tar.gz存档文件 要创建压缩的gzip存档文件,我们使用选项z。例如,以下命令将为目录/home/MyImages创建压缩的MyImages-14-09-12.tar.gz文件。(注意:tar.gz和tgz都相似)。 # tar cvzf MyImages-14-09-12.tar.gz /home/MyImages OR # tar cvzf MyImages-14-09-12.tgz /home/MyImages /home/MyImages/ /home/MyImages/Sara-Khan-and-model-Priyanka-Shah.jpg /home/MyImages/RobertKristenviolent101201.jpg /home/MyImages/Justintimerlake101125.jpg /home/MyImages/Mileyphoto101203.jpg /home/MyImages/JenniferRobert101130.jpg /home/MyImages/katrinabarbiedoll231110.jpg /home/MyImages/the-japanese-wife-press-conference.jpg 阅读更多…

Linux Code Coding Program Computer  - clarkdonald413 / Pixabay

使用SSH Keygen进行SSH无密码登录,只需5个步骤

SSH(Secure SHELL)是一种开源且最受信任的网络协议,用于登录远程服务器以执行命令和程序。它还用于使用安全副本(SCP)协议通过网络将文件从一台计算机传输到另一台计算机。 在本文中,我们将向您展示如何使用ssh密钥在RHEL / CentOS 7.x / 6.x / 5.x和Fedora上设置无密码登录,以便在不输入密码的情况下连接到远程Linux服务器。使用SSH密钥进行无密码登录将增加两台Linux服务器之间的信任,以便轻松进行文件同步或传输。 我的设置环境 SSH客户端:192.168.0.12(Fedora 21) SSH远程主机:192.168.0.11(CentOS 7) 如果您正在处理多个Linux远程服务器,那么SSH无密码登录是自动执行任务的最佳方式之一,例如使用脚本自动备份,使用scp执行同步文件和远程命令执行。 在这个例子中,我们将设置SSH无密码自动登录从服务器192.168.0.12作为用户tecmint到192.168.0.11与用户sheena。 步骤1:在 – (192.168.0.12)上创建身份验证SSH-Kegen密钥 首先使用用户tecmint登录到服务器192.168.0.12,然后使用以下命令生成一对公钥。 [tecmint@tecmint.com ~]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/tecmint/.ssh/id_rsa): [Press enter key] Created directory ‘/home/tecmint/.ssh’. Enter passphrase (empty for 阅读更多…

Centos – Rsync的用法

Rsync (Remote Sync)是非常常用的一个命令,主要是用于远程同步和复制文件和目录,以及在Linux / Unix系统中本地复制和同步。 借助rsync命令,您可以跨目录,跨磁盘和网络远程和本地复制和同步数据,在两台Linux计算机之间执行数据备份和镜像。 在这里,我们将介绍10个rsync的基本和高级用法,用于在基于Linux的计算机上远程和本地传输文件,rsync命令是不需要通过root用户来运行的。 Rsync命令的一些优点和功能 它有效地将文件复制到远程系统或从远程系统同步文件。 支持复制链接,设备,所有者,组和权限。 它比scp(安全复制)更快,因为rsync使用远程更新协议,它允许仅传输两组文件之间的差异。 第一次,它将文件或目录的全部内容从源复制到目标,但是从下次起,它仅将更改的块和字节复制到目标。 Rsync消耗较少的带宽,因为它使用压缩和解压缩方法,同时发送和接收数据两端。 rsync 命令的基本语法 rsync options source destination rsync命令使用的一些常用选项 -v : 详细信息 -r : 以递归方式复制数据(但在传输数据时不保留时间戳和权限 -a : 归档模式,归档模式允许递归复制文件,它还保留符号链接,文件权限,用户和组所有权和时间戳 -z : 压缩文件数据 -h : 以可读的形式输出 建议阅读:如何使用Rsync与非标准SSH端口同步文件/目录 在Linux机器上安装rsync 我们可以借助以下命令安装rsync包。 # yum install rsync (On Red Hat based systems) # apt-get install 阅读更多…

zh_CNChinese
en_USEnglish zh_CNChinese