SSH 至 Secure Shell 缩写。由 IETF 网络工做组(Network Working Group)开发;SSH 以创建应用层和传输层安全协议中的基础上。git
SSH 是眼下较可靠,专为远程登陆会话和其它网络服务提供安全性的协议。常常使用于远程登陆,以及用户之间进行资料拷贝。shell
利用 SSH 协议可以有效防止远程管理过程当中的信息泄露问题。SSH 最初是 UNIX 系统上的一个程序。后来又迅速扩展到其它操做平台。ubuntu
SSH 在正确使用时可弥补网络中的漏洞。SSH client适用于多种平台。差点儿所有 UNIX 平台—包含 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其它平台,均可执行 SSH。
安全
相关工具的安装网络
SSH server的安装:ssh
sudo apt-get install openssh-server工具
SSH client的安装:
spa
sudo apt-get install openssh-client
.net
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:复制到本地后的名字,可带上路径。不带路径复制到当前文件夹
查看远程文件夹与文件:
查看本地文件夹与文件:
拷贝远程的文件:
拷贝远程的文件可以随意改动其名字:
拷贝远程的文件可以指定存放路径: