码迷,mamicode.com
首页 > 系统相关 > 详细

Linux开发环境的搭建和使用——Linux本必备软件SSH

时间:2015-09-27 08:50:16      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

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 testtest 这个名字依据须要自定命名,敲命名时匹配上即可

技术分享

技术分享


当然,还有很多其它别的选项,如 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

标签:

原文地址:http://www.cnblogs.com/mengfanrong/p/4841800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!