SSH

在 Linux 上管理加密密钥的最佳体验

在 Linux 上管理加密密钥的最佳体验

存储 SSH 的加密秘钥和记住密码一直是一个让人头疼的问题。但是不幸的是,在当前这个充满了恶意黑客和攻击的世界中,基本的安全预防是必不可少的。
在 Linux 下使用 scp 命令

在 Linux 下使用 scp 命令

scp 的使用方式类似于 cp 命令,cp 命令将一个文件或文件夹从本地操作系统的一个位置(源)拷贝到目标位置(目的),而 scp 用来将文件或文件夹从网络上的一个主机拷贝到另一个主机当中去。
如何在 CentOS / RHEL 上设置 SSH 免密码登录

如何在 CentOS / RHEL 上设置 SSH 免密码登录

作为系统管理员,你计划在 Linux 上使用 OpenSSH,完成日常工作的自动化,比如文件传输、备份数据库转储文件到另一台服务器等。为实现该目标,你需要从主机 A 能自动登录到主机 B。自动登录也就是说,要在 shell 脚本中使用ssh,而无需要输入任何密码。 本文会告诉你怎样在 CentOS/RHEL 上设置 SSH 免密码登录。自动登录配置好以后,你可以通过它使用 SSH (Secure Shell)和安全复制 (SCP)来移动文件。 SSH 是开源的,是用于远程登录的最为可靠的网络协议。系统管理员用它来执行命令,以及通过 SCP 协议在网络上向另一台电脑传输文件。
如何在 Linux 上使用 SSHfs 挂载一个远程文件系统

如何在 Linux 上使用 SSHfs 挂载一个远程文件系统

你曾经想过用安全 shell 挂载一个远程文件系统到本地吗?如果有的话,SSHfs 也许就是你所需要的。它通过使用 SSH 和 Fuse(LCTT 译注:Filesystem in Userspace,用户态文件系统,是 Linux 中用于挂载某些网络空间,如 SSH,到本地文件系统的模块) 允许你挂载远程计算机(或者服务器)到本地。 注意: 这篇文章假设你明白SSH 如何工作并在你的系统中配置 SSH。 准备 在使用 SSHfs 挂载之前,需要进行一些设置 - 在你的系统上安装 SSHfs 以及 fuse 软件包。你还需要为 fuse 创建一个组,添加用户到组,并创建远程文件系统将会驻留的目录
mosh:一个基于 SSH 用于连接远程 Unix/Linux 系统的工具

mosh:一个基于 SSH 用于连接远程 Unix/Linux 系统的工具

Mosh 表示移动 Shell(Mobile Shell),是一个用于从客户端跨互联网连接远程服务器的命令行工具。它能用于 SSH 连接,但是比 Secure Shell 功能更多。它是一个类似于 SSH 而带有更多功能的应用。程序最初由 Keith Winstein 编写,用于类 Unix 的操作系统中,发布于GNU GPL v3协议下。 Mosh Shell SSH 客户端 Mosh的功能 它是一个支持漫游的远程终端程序。 在所有主流的类 Unix 版本中可用,如 Linux、FreeBSD、Solaris、Mac OS X 和 Android。 支持不稳定连接 支持智能的本地回显 支持用户输入的行编辑 响应式设计及在 wifi、3G、长距离
如何通过反向 SSH 隧道访问 NAT 后面的 Linux 服务器

如何通过反向 SSH 隧道访问 NAT 后面的 Linux 服务器

你在家里运行着一台 Linux 服务器,它放在一个 NAT 路由器或者限制性防火墙后面。现在你想在外出时用 SSH 登录到这台服务器。你如何才能做到呢?SSH 端口转发当然是一种选择。但是,如果你需要处理多级嵌套的 NAT 环境,端口转发可能会变得非常棘手。另外,在多种 ISP 特定条件下可能会受到干扰,例如阻塞转发端口的限制性 ISP 防火墙、或者在用户间共享 IPv4 地址的运营商级 NAT。 什么是反向 SSH 隧道? SSH 端口转发的一种替代方案是 反向 SSH 隧道。反向 SSH 隧道的概念非常简单。使用这种方案,在你的受限的家庭网络之外你需要另一台
使用一次性密码本通过 SSH 安全登录 Linux

使用一次性密码本通过 SSH 安全登录 Linux

有人说,安全不是一个产品,而是一个过程(LCTT 注:安全公司 McAfee 认为,安全风险管理是一个方法论,而不是安全产品的堆叠)。虽然 SSH 协议被设计成使用加密技术来确保安全,但如果使用不当,别人还是能够破坏你的系统:比如弱密码、密钥泄露、使用过时的 SSH 客户端等,都能引发安全问题。 在考虑 SSH 认证方案时,大家普遍认为公钥认证比密码认证更安全。然而,公钥认证技术并不是为公共环境设置的,如果你在一台公用电脑上使用公钥认证登录 SSH 服务器,你的服务器已经毫无安全可言了,公用的电脑可能会记录你的公钥,或从你的内存
Windows 下的免费 SSH 客户端工具

Windows 下的免费 SSH 客户端工具

如果你的操作系统是 Windows,而你想要连接 Linux 服务器相互传送文件,那么你需要一个简称 SSH 的 Secure Shell 软件。实际上,SSH 是一个网络协议,它允许你通过网络连接到 Linux 和 Unix 服务器。SSH 使用公钥加密来认证远程的计算机。你可以有多种途径使用 SSH,无论是自动连接,还是使用密码认证登录。 本篇文章介绍了几种可以连接 Linux 服务器 SSH 客户端。 让我们开始吧。 Putty Putty 是最有名的 SSH 和 telnet 客户端,最初由 Simon Tatham 为 Windows 平台开发。Putty 是一款开源软件,有可用的源代码,和一群志愿者的开发和支
Linux有问必答:如何安装autossh

Linux有问必答:如何安装autossh

提问: 我打算在linux上安装autossh,我应该怎么做呢? autossh 是一款开源工具,可以帮助管理SSH会话、自动重连和停止转发流量。autossh会假定目标主机已经设定无密码SSH登陆,以便autossh可以重连断开的SSH会话而不用用户操作。 只要你建立反向SSH隧道或者挂载基于SSH的远程文件夹,autossh迟早会派上用场。基本上只要需要维持SSH会话,autossh肯定是有用的。 下面有许多linux发行版autossh的安装方法。 Debian 或 Ubuntu 系统 autossh已经加入基于Debian系统的基础库,所以可以很方便的安装。 $ sudo apt-get install autossh Fedora
如何实现 ssh 无密码登录

如何实现 ssh 无密码登录

假设你是hostA上的一个用户"aliceA",想以用户aliceB的身份ssh到hostB上,但又不想输入密码。那么,你可以参考这篇教程实现ssh无密码登录。 首先,你需要以用户aliceA的身份登录到hostA上。 然后,使用ssh-keygen生成一对rsa公私钥,生成的密钥对会存放在~/.ssh目录下。 $ ssh-keygen -t rsa 接下来,使用下面的命令在目标主机hostB上的aliceB用户目录下创建~/.ssh目录。如果在aliceB@hostB上已经存在.ssh目录,这一步会被略过。 $ ssh aliceB@hostB mkdir -p .ssh 最后,将hostA上用户aliceA的公钥拷贝到aliceB@hostB上,来实现无密码
如何设置 Linux 上 SSH 登录的 Email 提醒

如何设置 Linux 上 SSH 登录的 Email 提醒

虚拟私有服务器 (VPS)上启用 SSH 服务使得该服务器暴露到互联网中,为黑客攻击提供了机会,尤其是当 VPS 还允许root 直接访问时。VPS 应该为每次 SSH 登录成功尝试配置一个自动的 email 警告。 VPS 服务器的所有者会得到各种 SSH 服务器访问日志的通知,例如登录者、登录时间以及来源 IP 地址等信息。这是一个对于服务器拥有者来说,保护服务器避免未知登录尝试的重要安全关注点。这是因为如果黑客使用暴力破解方式通过 SSH 来登录到你的 VPS 的话,后果很严重。在本文中,我会解释如何在 CentOS 6、 CentOS 7、 RHEL 6 和 RHEL 7上为所
如何设置 Ubuntu14.04 的 SSH 无密码登录

如何设置 Ubuntu14.04 的 SSH 无密码登录

大家好,今天我来向大家介绍如何在 Ubuntu12.04 上设置 SSH 的无密码登录功能。仅在工作站上有正确的(公私)密钥对以供匹配时SSH服务端才会允许你登录,反之访问将不会被允许。 正常情况下,我们需要连上SSH的控制台输入用户名及其密码才行。如果两者全部正确,我们就可以访问,反之访问被服务端拒绝。不过相比而言还有一种比用密码更安全的登录方式,我们可以在登录SSH时通过加密密钥进行无密码登录。 如果你想启用这个安全的方式,我们只需简单的禁用密码登录并只允许加密密钥登录即可。使用这种方式时,客户端计算机上会产生一对私钥
Linux有问必答:如何在Linux上检查SSH的版本

Linux有问必答:如何在Linux上检查SSH的版本

Question:我想到SSH存在1和2两个版本(SSH1和SSH2)。这两者之间有什么不同?还有我该怎么在Linux上检查SSH协议的版本? 安全Shell(SSH)通过加密的安全通信通道来远程登录或者远程执行命令。SSH被设计来替代不安全的明文协议,如telnet、rsh和rlogin。SSH提供了大量需要的特性,如认证、加密、数据完整性、授权和转发/通道。 SSH1 vs. SSH2 SSH协议规范存在一些小版本的差异,但是有两个主要的大版本:SSH1 (版本号 1.XX) 和 SSH2 (版本号 2.00)。 事实上,SSH1和SSH2是两个完全不同互不兼容的协议。SSH2明显地提升了SSH1中的很多方
十个 SCP 传输命令例子

十个 SCP 传输命令例子

Linux系统管理员应该很熟悉CLI环境,因为通常在Linux服务器中是不安装GUI的。SSH可能是Linux系统管理员通过远程方式安全管理服务器的最流行协议。在SSH命令中内置了一种叫SCP的命令,用来在服务器之间安全传输文件。 以下命令可以解读为:用username account拷贝 source file name到destination host上的destination folder里。 SCP命令的基本语法 scp source_file_name username@destination_host:destination_folder SCP命令有很多可以使用的参数,这里指的是每次都会用到的参数。 用-v参数来提供SCP进程的详细信息 不带参数的基本SCP
Linux有问必答:如何修复“sshd error: could not load host key”

Linux有问必答:如何修复“sshd error: could not load host key”

问题:当我尝试SSH到一台远程服务器时,SSH客户端登陆失败并提示Connection closed by X.X.X.X。在SSH服务器那端,我看到这样的错误消息:sshd error: could not load host key.。这发生了什么问题,我怎样才能修复该错误? 该SSH连接错误的详细症状如下。 SSH客户端方面:当你尝试SSH到一台远程主机时,你没有看见登录屏幕,你的SSH连接就立即关闭,并提示此消息:Connection closed by X.X.X.X。 SSH服务器方面:在系统日志中,你看到如下错误消息(如,在Debian/Ubuntu上,/var/log/auth.log)。 Oct 16 08:59:45 openstack sshd: err
Linux有问必答:如何修复“X11 forwarding request failed on channel 0”错误

Linux有问必答:如何修复“X11 forwarding request failed on channel 0”错误

问题: 当我尝试使用SSH的X11转发选项连接到远程主机时, 我在登录时遇到了一个 "X11 forwarding request failed on channel 0" (X11 转发请求在通道0上失败)的错误。 我为什么会遇到这个错误,并且该如何修复它? 首先,我们假设你已经正确启用了SSH的X11转发。 如果你在登录时遇到"X11 forwarding request failed on channel 0" (X11 转发请求在通道0上失败),这里可能有不同的原因,解决的方法也不同。 方案一 出于安全原因,OpenSSH服务默认将X11转发请求绑定到本地回环地址上,并且在DISPLAY环境变量中将主机名设置为localhost。
Linux 下 SSH 命令实例指南

Linux 下 SSH 命令实例指南

如果你已经在IT圈内混久了, 应该对 SSH 这个了不起的工具及其安全特性有所耳闻吧. 本教程可以让你在短时间内掌握通过 SSH 安全便利地连接到远程计算机的技术.如果你对 SSH 还没什么概念, 可以先访问 维基百科 进行了解.基本用法:最简单的 SSH 命令只需要指定用户名和主机名参数即可. 主机名可以是 IP 地址或者域名. 命令格式如下:
如何为 Linux 系统中的 SSH 添加双重认证

如何为 Linux 系统中的 SSH 添加双重认证

近来很多知名企业都出现了密码泄露,业内对多重认证的呼声也越来越高。在这种多重认证的系统中,用户需要通过两种不同的认证程序:提供他们知道的信息(如 用户名/密码),再借助其他工具提供用户所不知道的信息(如 用手机生成的一次性密码)。这种组合方式常叫做双因子认证或者两阶段验证。 为了鼓励广泛采用双因子认证的方式,Google公司发布了Google Authenticator,一款开源的,可基于开放规则(如 HMAP/基于时间)生成一次性密码的软件。这是一款跨平台软件,可运行在Linux, Android, iOS。Google公司同时也支持插件式鉴别模块PAM(
在 Linux 中为非 SSH 用户配置 SFTP 环境

在 Linux 中为非 SSH 用户配置 SFTP 环境

在某些环境中,系统管理员想要允许极少数用户在可以传输文件到Linux机器中,但是不允许使用 SSH。要实现这一目的,我们可以使用SFTP,并为其构建chroot环境。 SFTP chroot背景: SFTP是指SSH文件传输协议(SSH File Transfer protocol)或安全文件传输协议(Secure File Transfer Protocol),它提供了可信数据流下的文件访问、文件传输以及文件管理功能。当我们为SFTP配置chroot环境后,只有被许可的用户可以访问,并被限制到他们的家目录中,换言之:被许可的用户将处于牢笼环境中,在此环境中它们甚至不能切换它们的目录。 在本文中
10个 ssh 简单命令选项

10个 ssh 简单命令选项

一个系统管理员可能会同时管理着多台服务器,这些服务器也许会放在不同的地方。要亲自一台一台的去访问来管理它们显然不是最好的方法,通过远程控制的方法应该是最有效的。远程访问最通用的一款应用程序就是 SSH(什么?你还用telnet?….$%@%W@$##)。 SSH 是什么 SSH(全称 Secure Shell)是一种加密的网络协议。使用该协议的数据将被加密,如果在传输中间数据泄漏,也可以确保没有人能读取出有用信息。要使用 SSH,目标机器应该安装 SSH 服务端应用程序,因为 SSH 是基于客户-服务模式的。 当你想安全的远程连接到主机,可中间的网络
在Debian 7/Ubuntu 13.10 上使用隧道封装SSH连接

在Debian 7/Ubuntu 13.10 上使用隧道封装SSH连接

隧道 被设计用于远端客户端和本地(可通过inetd启动)或远端服务器间的SSL加密封装。它可以用于为inetd进程增加SSL功能,像POP2(译注:厄,POP2这个服务还有人用么?),POP3和IMAP服务而不必改变程序代码。隧道使用O …
使用安卓设备控制你的Linux PC

使用安卓设备控制你的Linux PC

下面的教程会指导所有的Linux使用者如何在系统上安装SSH,以便通过安卓智能手机远程访问他们的电脑。

如今我们所有人都拥有一台平板或触屏手机,我们经常使用它们在深夜里看电影或电视节目,听歌或者阅读一本好书。 …

用Python来SSH连接到你的机器

用Python来SSH连接到你的机器

是时间写点python代码了。我爱自动化的东西,今天我将告诉大家怎么使用python通过ssh连接你的机器,并在上面运行命令。这并不难,但是用python来做也不是很简单,因为要用很多模块和库来完成这个任务。 你是不是很好 …