SSH 至 Secure Shell 缩写。由 IETF 网络工作组(Network Working Group)开发;SSH 以建立应用层和传输层安全协议中的基础上。

SSH 是眼下较可靠,专为远程登录会话和其它网络服务提供安全性的协议。经常使用于远程登录,以及用户之间进行资料拷贝。

利用 SSH 协议能够有效防止远程管理过程中的信息泄露问题。SSH 最初是 UNIX 系统上的一个程序。后来又迅速扩展到其它操作平台。

SSH 在正确使用时可弥补网络中的漏洞。SSH client适用于多种平台。差点儿全部 UNIX 平台—包含 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其它平台,都可执行 SSH。

相关工具的安装

SSH server的安装:

sudo apt-get install openssh-server

SSH client的安装:

sudo apt-get install openssh-client

client和server的关系:假设,A 机器想被 B 机器远程控制。那么。A 机器须要安装 SSH server,B 机器须要安装 SSH client。

如使用过程中出现故障。可重新启动 SSH server:

sudo service ssh restart

測试使用

操作命令:ssh -l username hostip

ssh : 命令

-l
: 选项, 是字母“ L ”,不是数字“ 1 ”

username:被远程登录的用户名

hostip:被远程登录的 ip 地址

查看被远程登录的的ip:

远程登录(这里是用户 wencong ( A 机器 ) 远程登录 edu ( B 机器 ) )。 能够不用sudo :

SSH 告知用户。这个主机不能识别,这时键入" yes "。SSH 就会将相关信息。写入" ~/.ssh/know_hosts " 中。再次訪问,就不会有这些信息了。然后输入完口令,就能够登录到主机了。

接着。提示输入登录password:

登陆成功:

假设想在 Windows 平台下远程登录 Linux。这时候。Windows 须要安装 xmanager 软件包。

xmanager是个软件包。

包括xshell、xftp、xstart等软件。

xshell:是一个 Windows 平台下的 ssh、TELNET 和 RLOGIN 终端软件。

它使得用户能轻松和安全地在 Windows 平台上訪问 Unix/Linux 主机。

xftp:是一个应用于 Windows 平台的 FTP 和 SFTP 文件传输程序。xftp 能安全地在Unix/Linux 和 Windows 平台之间传输文件。

xstart:同意远程使用图形界面訪问server,可是效率稍低,仅支持 gnome 桌面。

这里,我们使用 xshell 软件,详细详情请看:《 Linux开发环境搭建与使用——通过xshell远程连接ubuntu》。

SSH 配置

SSH 安装的时候,没有默认的用户配置文件,我们能够依据自己须要自行配置。

如上面的样例。我们要登陆 10.221.20.16 上的 edu 用户。我们每次都得敲“ssh -l edu 10.221.20.16”。

以下介绍一下简化这个命令的方法。

在 ~/.ssh 下建立文件 config:

在 config 编写例如以下内容:

以后。在命令行执行“ ssh edu ” 就可以登陆 10.221.20.16 上的 edu 用户:

注意:config 第一行内容,假设改为
Host *test 。命令则变为:ssh test。test 这个名字依据须要自定命名,敲命名时匹配上即可。

当然,还有很多其它别的选项,如 ForwardAgent, Compression, ForwardX11 FallBackToRsh等。这里就不一一罗列。

用“ scp ”复制文件和文件夹

SSH 提供了一些命令和 shell 用来登录远程server。

在默认情况下,不同意用户复制文件,但还是提供了一个“ scp ”命令,用法例如以下:

本地文件拷贝到远程:

scp FileName RemoteUserName@RemoteHostIp:RemoteFile

scp FileName RemoteHostIp:RemoteFolder

scp FileName RemoteHostIp:RemoteFile



本地文件夹拷贝到远程:

scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolder

scp -r FolderName RemoteHostIp:RemoteFolder



远程文件拷贝到本地:

scp RemoteUserName@RemoteHostIp:RemoteFile FileName

scp RemoteHostIp:RemoteFolder FileName

scp RemoteHostIp:RemoteFile FileName



远程文件夹拷贝到本地:

scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderName

scp -r RemoteHostIp:RemoteFolder FolderName

这里仅仅測试一个命令,其他操作都是大同小异。

远程文件拷贝到本地:

scp RemoteUserName@RemoteHostIp:RemoteFile FileName

RemoteUserName:远程username

RemoteHostIp:远程ip

RemoteFile:远程文件。可带上路径

FileName:复制到本地后的名字,可带上路径。不带路径复制到当前文件夹

查看远程文件夹与文件:

查看本地文件夹与文件:

拷贝远程的文件:

拷贝远程的文件能够随意改动其名字:

拷贝远程的文件能够指定存放路径:

版权声明:该博客文章,我写的主要是整理,或收集在一个网络,转载请注明出处!!

Linux开发环境的搭建和使用——Linux本必备软件SSH的更多相关文章

  1. Linux开发环境的搭建和使用——Linux 常用的命令使用

    概要 视或电影中看到过类似的场景,黑客面对一个黑色的屏幕,上面飘着密密麻麻的字符,梆梆一顿敲,就完毕了窃取资料的任务. Linux 刚出世时没有什么图形界面.全部的操作全靠命令完毕.就如同电视里的黑客 ...

  2. 嵌入式Linux开发环境的搭建

    一个.制造u-boot.bin文件:    tar xjf u-boot-1.1.6.tar.bz2    cd u-boot-1.1.6    patch -p1 < ../u-boot-1. ...

  3. 用Windows+VirtualBox搭建嵌入式Linux开发环境

    Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...

  4. Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2]

    Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2] 2015-07   北京海淀区  ...

  5. 使用window10系统搭建完善的Linux开发环境

    https://juejin.im/post/5d22e46ee51d45775746b9b1 导读 在使用window系统开发时由于系统环境和线上环境不一致可能导致各种问题,以及部分扩展库只支持li ...

  6. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  7. Linux环境下Android开发环境的搭建

    本文主要介绍在Ubuntu下Android开发环境的搭建,所使用的IDE为Eclipse(Android Studio同理,且可省去配置SDK以及安装adt插件的步骤). 1.安装JDK (1)JDK ...

  8. Virtualbox+UbuntuServer+Xshell搭建Linux开发环境

    需求背景 嵌入式开发环境以编译服务器(Linux系统)为核心, 开发人员较多使用Windows系统, 通过若干工具, 可以实现开发人员使用Windows的开发工具,编写代码,然后在Linux系统上编译 ...

  9. 嵌入式Linux开发——内容介绍与开发环境的搭建

    嵌入式Linux开发步骤 设计自己的硬件系统 编写Bootloader 裁剪自己的Linux内核 开发移植设备驱动 构建根文件系统 开发应用程序 嵌入式Linux学习要点 熟练使用开发工具和相关指令集 ...

随机推荐

  1. Windows8.1和Ubuntu14.04双系统卸载Ubuntu參考教程[图]

    我之前编写并公布了<Windows8.1安装Ubuntu14.04双系统參考教程及双硬盘注意事项>这篇教程,而本文提供的卸载Ubuntu方法适用于这篇教程,其它方法安装的Ubuntu可适当 ...

  2. 经常使用Log日志打印输出

    /** * log刊物 * @author Jenly * */ public class LogUtils { public static final String TAG = "Jenl ...

  3. C语言探索之旅】 第一部分第四课第三章:变量的世界之显示变量内容

    内容简介 1.课程大纲 2.第一部分第四课第三章:变量的世界之显示变量内容 3.第一部分第五课预告:基本运算 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用 ...

  4. 【Android进阶】Activity的四种加载模式

    Activity的四种加载模式: 1.standard :系统的默认模式,一次跳转即会生成一个新的实例.假设有一个activity命名为Act1, 执行语句:startActivity(new Int ...

  5. phpword这个问题的产生中国扭曲

    采用phpword经word模板生成word当文件,乱码的问题.矿php和所有的数据库使用urf8编码格公式.解决的办法是,到场/phpword/template.php档,守则   $replace ...

  6. 【转】JTree调用UpdateUI()抛空指针

    最近在做东西时发现,当在线程里面刷新JTree时,有时会出现空指针错误,在网上查了很久,终于发现以下解决方法: JTree中调用UpdateUI()报以下错误 java.lang.NullPointe ...

  7. D其他项目打电话AL工程EF Model

     Based on your description and the error code, you will just need to ensure that your DataContext ...

  8. Binomial Coeffcients 过去山东省省赛冠军

    Binomial Coeffcients Time Limit: 1000MS Memory limit: 65536K 题目描写叙述   输入   输出   演示样例输入 3 1 1 10 2 95 ...

  9. Web层的搭建

    Web层的搭建 前言:好久没更新博客了,每天被该死的业务缠身,今天正好一个模块完成了,继续来完善我们的代码.之前的六篇完成了领域层.应用层.以及基础结构层的部分代码,这篇打算搭建下UI层的代码. DD ...

  10. SQL开发中容易忽视的一些小地方(一)

    原文:SQL开发中容易忽视的一些小地方(一) 写此系列文章缘由: 做开发三年来(B/S),发现基于web 架构的项目技术主要分两大方面: 第一:C#,它是程序的基础,也可是其它开发语言,没有开发语言也 ...