1. 程式人生 > >ssh介紹及scp,sftp應用

ssh介紹及scp,sftp應用

network 服務器 數據安全 linux 數據包

一、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

[email protected]前為用戶名,[email protected]後為要連接的服務器的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] 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] 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應用