ssh介绍及scp,sftp应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]   linuxssh连接另台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

 

六、通过CRTsftp连接到本地xp系统

技术分享

 

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

sftp> put c:\oldboy.txt 

Uploading oldboy.txt to /root/oldboy.txt

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

 


本文出自 “Mr.Xiong`s 运维日志” 博客,请务必保留此出处http://mrxiong2017.blog.51cto.com/12559394/1932685

以上是关于ssh介绍及scp,sftp应用的主要内容,如果未能解决你的问题,请参考以下文章

ssh远程访问控制,scp,sftp,TCP Wrappers策略应用案例

python实现ssh及sftp功能

[原创] Linux下几种文件传输命令 sz rz sftp scp介绍

ssh服务及scp命令相关知识

ssh scp sftp简易用法

sftp/scp 连接失败但 ssh 正常