SSH,SCP,rsync,sftp

1.ssh: secure shell, protocol, 22/tcp, 安全的遠程登錄

(1)具體的軟件實現(xiàn):
OpenSSH: ssh協(xié)議的開源實現(xiàn)诞吱,CentOS默認安裝
dropbear:另一個開源實現(xiàn)
(2)SSH協(xié)議版本

v1: 基于CRC-32做MAC透乾,不安全;man-in-middle
v2:雙方主機協(xié)議選擇安全的MAC方式
基于DH算法做密鑰交換豺型,基于RSA或DSA實現(xiàn)身份認證

(3)兩種方式的用戶登錄認證:

基于password
基于key

2.Openssh軟件組成

相關(guān)包:
openssh
查看:
rpm -ql openssh-clients客戶端/usr/bin/ssh
rpm -ql openssh-server服務(wù)器端/usr/sbin/sshd
? 工具:
基于C/S結(jié)構(gòu)
Client: ssh, scp, sftp,slogin
             Windows客戶端:
             xshell, putty, securecrt, sshsecureshellclient
Server: sshd

3.ssh客戶端

配置文件:/etc/ssh/ssh_config
Host PATTERN
StrictHostKeyChecking no 首次登錄不顯示檢查提示
格式:ssh [user@]host [COMMAND]
ssh [-l user] host [COMMAND]

-p port:遠程服務(wù)器監(jiān)聽的端口
-b:指定連接的源IP(就是說你自己主機上有多個IP,用你要用的連接)
-v:調(diào)試模式
-C:壓縮方式
-X: 支持x11轉(zhuǎn)發(fā)喘先,打開對方圖形界面
-Y:支持信任x11轉(zhuǎn)發(fā)ForwardX11Trusted yes
    (就是說如果A要連接C楷扬,但是C只能用B來連接解幽,就可以通過B來連接C eg:A#ssh B ssh C)
ForwardX11Trusted yes
-t: 強制偽tty分配
ssh -t remoteserver1 ssh remoteserver2
允許實現(xiàn)對遠程系統(tǒng)經(jīng)驗證地加密安全訪問
ss -nt 查看

當用戶遠程連接ssh服務(wù)器時,會復(fù)制ssh服務(wù)器 /etc/ssh/ssh_host*key.pub(CentOS7默認是ssh_host_ecdsa_key.pub)文件中的公鑰到客戶機的~./ssh/know_hosts中毅否。下次連接時亚铁,會自動匹配相應(yīng)私鑰 ,不能匹配螟加,將拒絕連接

Paste_Image.png

第一次連接別的主機時徘溢,把對方的公要復(fù)制過來吞琐,然后和對方的私鑰解密,所以要冒充鏈接要知道對方的私鑰然爆,私鑰文件在/etc/ssh/ssh_host_rsa_key
Paste_Image.png

4.ssh服務(wù)登錄驗證

兩種方式:
(1)基于用戶和口令登錄驗證

1 客戶端發(fā)起ssh請求站粟,服務(wù)器會把自己的公鑰發(fā)送給用戶
2 用戶會根據(jù)服務(wù)器發(fā)來的公鑰對密碼進行加密
3 加密后的信息回傳給服務(wù)器,服務(wù)器用自己的私鑰解密曾雕,如果密碼正確奴烙,則用戶登錄成功

(2)基于密鑰的登錄方式

1.首先在客戶端生成一對密鑰(ssh-keygen)
2.并將客戶端的公鑰ssh-copy-id 拷貝到服務(wù)端
3.當客戶端再次發(fā)送一個連接請求,包括ip剖张、用戶名
4.服務(wù)端得到客戶端的請求后切诀,會到authorized_keys中查找,如果有響應(yīng)的IP和用戶搔弄,就會隨機生成一個字符串幅虑,例如:acdf
5.服務(wù)端將使用客戶端拷貝過來的公鑰進行加密,然后發(fā)送給客戶端
6.得到服務(wù)端發(fā)來的消息后顾犹,客戶端會使用私鑰進行解密倒庵,然后將解密后的字符串發(fā)送給服務(wù)端
7.服務(wù)端接受到客戶端發(fā)來的字符串后,跟之前的字符串進行對比炫刷,如果一致擎宝,就允許免密碼登錄
Paste_Image.png

5.基于密鑰的認證:

(1) 在客戶端生成密鑰對

ssh-keygen -t rsa [-P ''] [-f “~/.ssh/id_rsa"]
-t 指定要用的算法 rsa/dsa
-P加口令
-f指定密鑰文件路徑

(2) 把公鑰文件傳輸至遠程服務(wù)器對應(yīng)用戶的家目錄

ssh-copy-id [-i [identity_file]] [user@]host
-i指定復(fù)制的文件,生成的文件默認放在.ssh下
如果不指定復(fù)制到對方的文件,默認放在 .ssh/authorized_keys

Paste_Image.png

(3) 測試
在客戶機端再用ssh連接服務(wù)器就可以不輸入密碼或者只用輸入私鑰密碼

(4) 在SecureCRT或Xshell實現(xiàn)基于key驗證

在SecureCRT工具—>創(chuàng)建公鑰—>生成Identity.pub文件
轉(zhuǎn)化為openssh兼容格式(適合SecureCRT浑玛,Xshell不需要轉(zhuǎn)化
格式)绍申,并復(fù)制到需登錄主機上相應(yīng)文件authorized_keys中,
注意權(quán)限必須為600,在需登錄的ssh主機上執(zhí)行:
ssh-keygen -i -f Identity.pub >> .ssh/authorized_keys

(5)重設(shè)私鑰口令:

ssh-keygen –p


Paste_Image.png

(6)驗證代理(authentication agent)保密解密后的密鑰

? 這樣口令就只需要輸入一次
? 在GNOME中锄奢,代理被自動提供給root用戶
? ssh-agent bash 啟動代理

(7)鑰匙通過命令添加給代理

ssh-add
把口令托管給代理失晴,以后再連接就不需要口令了,但是一注銷終端拘央,就需要重新登錄

6.scp命令

scp [options] SRC... DEST/
兩種方式:
scp [options] [user@]host:/sourcefile /destpath把遠程主機文件復(fù)制到本地
scp [options] /sourcefile [user@]host:/destpath把本地文件復(fù)制到遠程
scp不適合網(wǎng)站更新

常用選項:
-C: 壓縮數(shù)據(jù)流
-r: 遞歸復(fù)制
-p: 保持原文件的屬性信息
-q: 靜默模式
-P PORT: 指明remote host的監(jiān)聽的端口
Paste_Image.png

7.rsync命令

Paste_Image.png

? 基于ssh和rsh服務(wù)實現(xiàn)高效率的遠程系統(tǒng)之間復(fù)制文件
? 使用安全的shell連接做為傳輸方式
? 比scp更快涂屁,只復(fù)制不同的文件,可以實現(xiàn)增量備份
? rsync –av /etc server1:/tmp 復(fù)制目錄和目錄下文件
? rsync –av /etc/ server1:/tmp 只復(fù)制目錄下文件

? 選項:
-n 模擬復(fù)制過程
-v 顯示詳細過程
-r 遞歸復(fù)制目錄樹
-p 保留權(quán)限
-t 保留時間戳
-g 保留組信息
-o 保留所有者信息
-l 將軟鏈接文件本身進行復(fù)制(默認)
-L 將軟鏈接文件指向的文件復(fù)制
-a 存檔,相當于–rlptgoD灰伟,但不保留ACL(-A)和SELinux屬性(-X)
Paste_Image.png

8.sftp命令

? 交互式文件傳輸工具
? 用法和傳統(tǒng)的ftp工具相似
? 利用ssh服務(wù)實現(xiàn)安全的文件上傳和下載
? 使用ls cd mkdir rmdir pwd get put等指令拆又,可用?或help
獲取幫助信息

sftp [user@]host
sftp> help

9.SSH端口轉(zhuǎn)發(fā)

SSH 會自動加密和解密所有 SSH 客戶端與服務(wù)端之間的網(wǎng)絡(luò)數(shù)據(jù)栏账。 但是帖族,SSH 還能夠?qū)⑵渌?TCP 端口的網(wǎng)絡(luò)數(shù)據(jù)通過 SSH 鏈接來轉(zhuǎn)發(fā) ,并且自動提供了相應(yīng)的加密及解密服務(wù)挡爵。這一過程也被叫做“隧道” (tunneling)竖般,這是因為 SSH 為其他 TCP 鏈接提供了一個安全的通 道來進行傳輸而得名。例如茶鹃,Telnet涣雕,SMTP艰亮,LDAP 這些 TCP 應(yīng)用均能夠從中得益,避免了用戶名挣郭,密碼以及隱私信息的明文傳輸迄埃。而與此同時,如果工作環(huán)境中的防火墻限制了一些網(wǎng)絡(luò)端口的使用兑障,但是允許SSH 的連接侄非,也能夠通過將 TCP 端口轉(zhuǎn)發(fā)來使用 SSH 進行通訊
(1)SSH 端口轉(zhuǎn)發(fā)能夠提供兩大功能:

? 加密 SSH Client 端至 SSH Server 端之間的通訊數(shù)據(jù)
? 突破防火墻的限制完成一些之前無法建立的 TCP 連接

遠程連接到本地

Paste_Image.png

(2)本地轉(zhuǎn)發(fā):

-L localport:remotehost:remotehostport sshserver

選項:
-f 后臺啟用
-N 不打開遠程shell,處于等待狀態(tài)
-g 啟用網(wǎng)關(guān)功能
eg:
ssh –L 9527:telnetsrv:23 -N sshsrv
telnet 127.0.0.1 9527 當訪問本機的9527的端口時流译,被加密后轉(zhuǎn)發(fā)到sshsrv的ssh服務(wù)逞怨,再解密被轉(zhuǎn)發(fā)到telnetsrv:23
data ? ? localhost:9527 ? ? localhost:XXXXX ? ?
sshsrv:22 ? ? sshsrv:YYYYY ? ? telnetsrv:23

(3)遠程轉(zhuǎn)發(fā):

-R sshserverport:remotehost:remotehostport sshserver

eg:
ssh –R 9527:telnetsrv:23 –N sshsrv
讓sshsrv偵聽9527端口的訪問,如有訪問福澡,就加密后通過ssh
服務(wù)轉(zhuǎn)發(fā)請求到本機ssh客戶端骇钦,再由本機解密后轉(zhuǎn)發(fā)到
telnetsrv:23
Data ? ? sshsrv:9527 ? ? sshsrv:22 ? ?
localhost:XXXXX ? ? localhost:YYYYY ? ? telnetsrv:23

(3)動態(tài)端口轉(zhuǎn)發(fā):

當用firefox訪問internet時,本機的1080端口做為代理服務(wù)器竞漾,firefox的訪問請求被轉(zhuǎn)發(fā)到
sshserver上,由sshserver替之訪問internet在本機firefox設(shè)置代理socket proxy:127.0.0.1:1080

ssh -D 1080 root@sshserver

10.X 協(xié)議轉(zhuǎn)發(fā)

所有圖形化應(yīng)用程序都是X客戶程序
? 能夠通過tcp/ip連接遠程X服務(wù)器
? 數(shù)據(jù)沒有加密機,但是它通過ssh連接隧道安全進行

ssh -X user@remotehost gedit

remotehost主機上的gedit工具窥翩,將會顯示在本機的X服務(wù)器上傳輸?shù)臄?shù)據(jù)將通過ssh連接加密

11.ssh服務(wù)器

服務(wù)器端:sshd, 配置文件: /etc/ssh/sshd_config

? 常用參數(shù):
? Port
? ListenAddress ip
? LoginGraceTime 2m
? PermitRootLogin yes
? StrictModes yes
? MaxAuthTries 6
? MaxSessions 10 同一個連接最大會話
? PubkeyAuthentication yes
? PermitEmptyPasswords no
? PasswordAuthentication yes
? GatewayPorts no
? ClientAliveInterval(單位:秒)
? ClientAliveCountMax(默認3)
? UseDNS yes
? GSSAPIAuthentication yes 提高速度可改為no
? MaxStartups 未認證連接最大值业岁,默認值10
? Banner /path/file

限制可登錄用戶的辦法:

AllowUsers user1 user2 user3
DenyUsers
AllowGroups
DenyGroups

ssh服務(wù)的最佳實踐

? 不要使用默認端口
? 禁止使用protocol version 1
? 限制可登錄用戶
? 設(shè)定空閑會話超時時長
? 利用防火墻設(shè)置ssh訪問策略
? 僅監(jiān)聽特定的IP地址
? 基于口令認證時,使用強密碼策略
tr -dc A-Za-z0-9_ < /dev/urandom | head -c 30| xargs
? 使用基于密鑰的認證
? 禁止使用空密碼
? 禁止root用戶直接登錄
? 限制ssh的訪問頻度和并發(fā)在線數(shù)
? 做好日志寇蚊,經(jīng)常分析
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末笔时,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子仗岸,更是在濱河造成了極大的恐慌允耿,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扒怖,死亡現(xiàn)場離奇詭異较锡,居然都是意外死亡,警方通過查閱死者的電腦和手機盗痒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進店門蚂蕴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人俯邓,你說我怎么就攤上這事骡楼。” “怎么了稽鞭?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵鸟整,是天一觀的道長。 經(jīng)常有香客問我朦蕴,道長篮条,這世上最難降的妖魔是什么弟头? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮兑燥,結(jié)果婚禮上亮瓷,老公的妹妹穿的比我還像新娘。我一直安慰自己降瞳,他們只是感情好嘱支,可當我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著挣饥,像睡著了一般除师。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上扔枫,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天汛聚,我揣著相機與錄音,去河邊找鬼短荐。 笑死倚舀,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的忍宋。 我是一名探鬼主播痕貌,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼糠排!你這毒婦竟也來了舵稠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤入宦,失蹤者是張志新(化名)和其女友劉穎哺徊,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乾闰,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡落追,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了涯肩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淋硝。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖宽菜,靈堂內(nèi)的尸體忽然破棺而出谣膳,到底是詐尸還是另有隱情,我是刑警寧澤铅乡,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布继谚,位于F島的核電站,受9級特大地震影響阵幸,放射性物質(zhì)發(fā)生泄漏花履。R本人自食惡果不足惜芽世,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望诡壁。 院中可真熱鬧济瓢,春花似錦、人聲如沸妹卿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽夺克。三九已至箕宙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間铺纽,已是汗流浹背柬帕。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狡门,地道東北人陷寝。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像其馏,于是被迫代替她去往敵國和親盼铁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理尝偎,服務(wù)發(fā)現(xiàn),斷路器鹏控,智...
    卡卡羅2017閱讀 134,695評論 18 139
  • CA和證書安全協(xié)議(SSL/TLS)OpenSSH 一致扯、CA和證書 (一) PKI(Public Key Infr...
    哈嘍別樣閱讀 1,396評論 0 0
  • OpenSSH是SSH連接工具的免費版本。telnet当辐,rlogin和ftp用戶可能還沒意識到他們在互聯(lián)網(wǎng)上傳輸?shù)?..
    醋留香閱讀 12,074評論 0 33
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,175評論 2 33
  • 西瓜被放在老瓦房的陰涼角落 角落里還有幾只更小的西瓜 西瓜被拍了拍缘揪,被挑出來 西瓜被放進布袋子 放進摩托車尾箱 西...
    映陽子閱讀 301評論 2 0