ssh介绍及scp,sftp应用

一、ssh介绍

SSH是 secure Shell Protocol的简写,由IETF网络工作小组(Network Working Group)制定;在进行数据传输之前 ,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输。确保了传递的数据安全。

在默认状态下,SSH服务器提供两个服务功能:一个是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务;另一个是类假FTP服务的sftp-server,借助SSH协议来的。

二、ssh的密钥加密

ssh服务认证类型

从SSH客户端来看,SSH服务主要提供两种级别的安全验证:

  1. 基于口令的安全验证

基于口令的安全验证方式只要知道服务器的SSH连接账号和口令(当然也要知道对应服务器IP及开放的SSH端口,默认是22),就可以通过SSH客户端远程登陆到主机。此时,联机过程中所传输的数据都是加密的。

ssh连接的命令:

ssh -p52113 [email protected]   在linux中ssh连接另台linux服务器

连接成功后,密钥存放在当前用户家目录的隐藏文件中

[[email protected] ~]# ssh -p22 [email protected]
[[email protected] ~]# ls -la
total 124
drwxr-x---  3 root root 4096 Mar 10 22:45 .
drwxr-xr-x 24 root root  4096 Mar 10 22:29 ..
-rw-------  1 root root  996 Jan  8 20:00 anaconda-ks.cfg
-rw-------  1 root root  690 Jan  8 23:36 .bash_history
-rw-r--r--  1 root root   24 Jan  6  2007 .bash_logout
-rw-r--r--  1 root root  191 Jan  6  2007 .bash_profile
-rw-r--r--  1 root root  176 Jan  6  2007 .bashrc
-rw-r--r--  1 root root  100 Jan  6  2007 .cshrc
-rw-r--r--  1 root root 36494 Jan  8 20:00 install.log
-rw-r--r--  1 root root 3849 Jan  8 19:59install.log.syslog
drwx------  2 root root 4096 Mar 10 22:45 .ssh
-rw-r--r--  1 root root  129 Jan  6  2007 .tcshrc
[[email protected] ~]# cd .ssh
[[email protected] .ssh]# catknown_hosts
168.1.121 ssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEA1xT04uwlvMPtW4ILhbCoB4qZfCtlC+tJGkOmW5kIap/S+yu88q0qDoWdNM3WFRClZNtO29sRff75WzZNXbEVg4pk2IW8B5r7jzNglZ0+vWmCtz95HBm9LGvpllvO+9A1J30ncKK+1IjG6V9Ep0G/Asm8MQf1FD/CrsMIoKCIy91MXrCEWHZKfCb/v0cnMkaMfVl/K/1niHt8DLvEg8NCH8ZljTyzjknLD9LS3HOqzZ1mlbr1bdMDu7MIBojufG7piEJ19yOUUWi+sTF8tjtpCaG7NhtBR84opeBE4xVJBmiOjFjHE1gb2oYJwSqfUymhkvlM/acVSI2XRq/In5QVQw==
  1. 基于密匙的安全验证:

基于密匙的安全验证方式是指,需要依靠密钥,也就是必须事先建立一对密钥对,然后把公用密匙(Public key)放在需要访问的目标服务器上,另外,还需要把私有的密匙(Private key)放到SSH的客户端或对应的客户端服力器上。

这时客户机使用SSH对服务器进行远程连接时,就可以通过这个私有密匙对服务端公用密匙进行验证,验证通过就可以进行SSH连接,这种方式不需要在网络上传送口令密码,安全性更大了。

三、远程连接SSH服务

SSH基本语法使用

ssh -p22 [email protected]

#-p小写接端口,默认22端口时可以省略-p22

#”@”前为用户名,”@”后为要连接的服务器的IP

1.直接登陆远程主机的方法

在未禁止root远程登陆及更改SSH端口前的登陆方法为:

[[email protected] ~]# ssh [email protected]

输入exit退出ssh连接

当我们连接远程主机时,如果是第一次连接,那么远程主机就会询问要不要接受远程主机发过来的key,并建立连接,此时,如果想连接就输入yes接受,这个接受远程主机发过来的Public Key默认存放在用户家目录~/.ssh/know_hosts下,内容为一数字字母组合。

  1. 不登陆远程主机,直接在远程主机执行命令
[[email protected] ~]# ssh [email protected] uptime
[email protected]‘s password:
 23:00:22 up 32 min,  1 user, load average: 0.00, 0.00, 0.00

四、SSH附带的远程拷贝scp命令

scp的基本语法使用

scp -P22 -r -p /etc [email protected]:/tmp

#scp 为远程拷贝文件或目录的命令

#-P大写,注意和ssh命令的不同,接端口,默认22,可省略-P22

#-r 表示拷贝目录

#-p 表示在拷贝前后保持文件或目录属性

# /etc 为本地目录  @前为用户名  @后为要连接的服务器IP,后面的:/tmp为目录

#以上命令作用是把本地/etc/文件夹拷贝到远端服务器192.168.1.121的/tmp目录中

把远端目录抓到本地

scp -P22 -r -p [email protected]:/tmp /etc

此命令用于linux主机之间拷贝文件或目录

五、sftp用法

[[email protected] .ssh]# sftp [email protected]
Connecting to 192.168.1.111...
[email protected]‘s password:
sftp> pwd
Remote working directory: /root

使用put命令把本地文件上传到连接的服务器中

sftp> put /tmp/li.txt /tmp/li.txt
Uploading /tmp/li.txt to /tmp/li.txt
/tmp/li.txt                                   100%    0    0.0KB/s   00:00

使用get命令把服务器中的文件下载到本地目录

sftp> get /tmp/li.txt /tmp/li.txt
Fetching /tmp/li.txt to /tmp/li.txt
sftp> get /tmp/li.txt /tmp/bb.txt
get /tmp/li.txt /tmp/bb.txt
Fetching /tmp/li.txt to /tmp/bb.txt

六、通过CRT的sftp连接到本地xp系统

可以上传xp系统c盘中的文件到服务器中

sftp> put c:\oldboy.txt

Uploading oldboy.txt to /root/oldboy.txt

100% 0 bytes      0 bytes/s00:00:00

时间: 2024-08-02 11:06:30

ssh介绍及scp,sftp应用的相关文章

SSH,SCP,SFTP命令汇总

ssh远程连接总结: 1:直接连接到远程主机上面,-p22代表ssh端口 root代表远程主机的用户名@172.16.1.31代表远程主机的IP地址.(直接切到远程主机上) [[email protected] ~]# ssh -p22 [email protected][email protected]'s password: Last login: Mon Aug 14 23:04:42 2017 from m01[[email protected] ~]# 2:直接调用远程主机的命令(不会

scponly 限定用户不能SSH登录,可以SFTP SCP传文件到指定目录

公司基于安全考虑,要求给用户SFTP,SCP权限可以上传相关文件到指定目录,但不能SSH登录,考虑到RSSH也是个解决方案,但有点麻烦,最后找到了SCPONLY 直接说下配置过程, 如果你的系统是CENTOS,那直接用这个配置 1.wget -c http://nchc.dl.sourceforge.net/s - nly/scponly-4.8.tgz #scponly 支持的软件有scp.sfp.rsync.subversion.gftp等客户端 2. ./configure –prefix

SSH介绍

1.ssh介绍: SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输,确保了传递的数据安全.(运维的一大重视点就是要对安全敏感) 在当前的生产环境运维工作中,绝大多数企业都是SSH协议服务.不在telnet协议. 在默认状态下,SSH服务主要有两个服务功能:1.提供类似telnet远程联机服务  2.支持sftp安全 SSH客户端(ssh命令)还包含一个很有用的远程安全拷贝命令scp,也是通过ssh协议工作的. 原文地址:https://www.cnblogs.com/dangj

ssh服务及scp命令相关知识

一.linux系统ssh服务  1.什么是ssh?ssh是secure shell protocol简写,ssh是先对联机的数据包通过加密后再进行传输,确保数据安全.ssh是专门为远程登录会话和其他网络服务提供的安全性协议. 特别提醒:ssh客服端还包括scp安全拷贝命令及sftp文件传输服务,也是通过ssh协议来工作的. 二.ssh服务其他附带服务 1)检查是否安装openssl/openssh服务[[email protected] ~]# rpm -qa openssh openssh-5

转自ruby迷: 使用Net::SSH和Net::SCP编写Linux服务器管理脚本

试了一下perl下安装ssh模块,整了半天linux/window上都装不上,各依赖模块的版本总是匹配不上,后改了一下思路,用ruby吧 Net::SSH和Net::SCP是两个Ruby操作SSH的gem包.Net::SSH相当于cmd,专门用于执行命令:Net::SCP专门用于传输文件.它们俩结合,可以做任何SSH client能做的事情. 安装: gem install net-ssh gem install net-scp 以下所有代码都引用这段代码 require 'net/ssh' r

SSH介绍及连接原理

SSH是Secure Shell Protocol的简写,由IETF网络工作小组(Network Working Group)指定:在进行数据传输之前,SSH先对联机数据包通过加密技术处理,加密后在进行数据传输.确保了传递的数据安全. SSH是专为远程登录会话和其他网络服务提供的安全性协议.利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境运维工作中,绝大多数企业普遍采用SSH协议来代替传统不安全的远程联机服务软件,如telnet(telnet 端口:23 非加密)等:

ssh scp sftp简易用法

1.登录:ssh 用户名@ip端口:默认22进程:sshd安装:OpenSSH服务端:/usr/sbin/sshd 客户端:/usr/bin/ssh服务端配置文件:/etc/ssh/sshd_config客户端配置文件:/etc/ssh/ssh_config 2.scp下载:scp 用户名@ip:远程文件全路径 本地保存路径 上传:scp 本地保存路径 用户名@ip:远程文件全路径 注:使用此命令后,并没有远程登录到服务器 3.sftpsftp 用户名@ipls:查看服务器端文件cd:切换服务器

Linux基础之-网络配置,主机名设置,ssh登陆,scp传输

一. 网络配置修改 1.临时修改(ip,dns,netmask,gateway) 临时修改网络配置,只要没有涉及到修改配置文件的,在network服务重启后,所有设置失效 2.永久修改(ip,dns,netmask,gateway) 修改网络配置文件"ifcfg-ens33",保存后就会永久生效 二. 集群内机器hostname及域名的设定 三. ssh登陆 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SS

linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录

最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查rsync命令的使用321就能搞定,结果rsync命令要支持自动登 录还是要配置服务和参数,又不确定网上说的配置的行不行,因为都是一个样,但是没有说明头尾,所以选择了一个尝试代价较小的ssh自动登录来替代之. ssh大家都能用到,通常我们用到的功能基本就是登录,或者远程执行shell命令. [plain] view plain copy ##登录 ssh [email protected]_or_ip ##执行远程命令 ss