簡介
SSH 為 Secure Shell 的縮寫,由 IETF 的網(wǎng)絡(luò)小組(Network Working Group)所制定捧毛;SSH 為建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議观堂。SSH 是目前較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議呀忧。利用 SSH 協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題师痕。SSH客戶端適用于多種平臺(tái)。
對(duì)比
傳統(tǒng)的網(wǎng)絡(luò)服務(wù)程序而账,如:ftp和telnet在本質(zhì)上都是不安全的胰坟,因?yàn)樗鼈冊(cè)诰W(wǎng)絡(luò)上用明文傳送口令和數(shù)據(jù),別有用心的人非常容易就可以截獲這些口令和數(shù)據(jù)泞辐。而且笔横,這些服務(wù)程序的安全驗(yàn)證方式也是有其弱點(diǎn)的, 就是很容易受到“中間人”(man-in-the-middle)這種方式的攻擊咐吼。所謂“中間人”的攻擊方式吹缔, 就是“中間人”冒充真正的服務(wù)器接收你傳給服務(wù)器的數(shù)據(jù),然后再冒充你把數(shù)據(jù)傳給真正的服務(wù)器锯茄。服務(wù)器和你之間的數(shù)據(jù)傳送被“中間人”一轉(zhuǎn)手做了手腳之后厢塘,就會(huì)出現(xiàn)很嚴(yán)重的問題。通過使用SSH肌幽,你可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密晚碾,這樣"中間人"這種攻擊方式就不可能實(shí)現(xiàn)了,而且也能夠防止DNS欺騙和IP欺騙牍颈。使用SSH迄薄,還有一個(gè)額外的好處就是傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以加快傳輸?shù)乃俣戎笏辍SH有很多功能讥蔽,它既可以代替Telnet,又可以為FTP画机、PoP冶伞、甚至為PPP提供一個(gè)安全的"通道"
telnet和shh的區(qū)別
telnet:不安全,沒有對(duì)傳輸數(shù)據(jù)進(jìn)行加密步氏,容易被監(jiān)聽响禽,還有遭受中間人攻擊,telnet不能壓縮傳輸數(shù)據(jù)荚醒,所以傳輸慢
ssh:對(duì)數(shù)據(jù)進(jìn)行了加密芋类,安全度高,ssh傳輸數(shù)據(jù)經(jīng)過壓縮界阁,所以傳輸速度比較快
安裝
[root@server ~]# yum install -y openssh*
1.服務(wù)器端啟動(dòng)服務(wù):
[root@server ~]# systemctl start sshd
2.關(guān)閉防火墻和selinux
====================================================
在這里稍微提一下防火墻和selinux
SELinux全稱是 Security-Enhanced Linux侯繁,它是由美國國家安全局(NSA)貢獻(xiàn)的,它為 Linux 內(nèi)核子系統(tǒng)引入了一個(gè)健壯的強(qiáng)制控制訪問Mandatory Access Control架構(gòu)泡躯。詳情可以參考SELinux 入門贮竟,SELINUX工作原理
其實(shí)SELinux的功能也就是類似于防火墻的功能,不過安全相對(duì)比較好较剃,
#查看防火墻狀態(tài)
[root@server ~]# firewall-cmd --state
running #表示在開啟狀態(tài)
[root@server ~]# systemctl stop firewalld #關(guān)閉防火墻
[root@server ~]# firewall-cmd --state
not running #表示已經(jīng)關(guān)閉
-------------------------------------------------------------------------------------------
#查看selinux狀態(tài)
[root@server ~]# getenforce
臨時(shí)關(guān)閉selinux狀態(tài)
[root@server ~]# setenforce 0
永久關(guān)閉selinux狀態(tài)
方法一: [root@server ~]# vim /etc/selinux/config
# 將SELINUX=enforce改成SELINUX=disabled
方法二: [root@server ~]# sed -i '/SELINUX=/s/enforcing/disabled/' /etc/selinux/config
———————————————————————————————————
###########遠(yuǎn)程登錄############
[root@server ~]# ssh root@192.168.204.132
root@192.168.204.132's password: #輸入用戶密碼
Last login: Sun Jan 5 09:35:01 2020 from 192.168.204.130
[root@localhost ~]#
--------------------------------------------------------------------
root 用戶默認(rèn)可以不寫咕别,其他用戶要寫上用戶名
-p:prot端口,指點(diǎn)端口写穴,如果端口修改了需要指定
--------------------------------------------------------------------
**修改端口號(hào)**
#######修改配置文件############
vim /etc/ssh/sshd_config
#Port 22 #找到這行惰拱,將注釋去掉,修改端口號(hào)可以修改為自定義的啊送。
[root@server ~]# systemctl restart sshd
####改完配置文件要記得重啟服務(wù)####
###########免密登錄############
#無密碼登陸(ssh密鑰認(rèn)證)
#1.產(chǎn)生公鑰和私鑰: 生成一對(duì)密鑰:公鑰+私鑰
[root@server ~]# ssh-keygen #一直按回車鍵
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)?
------------------------------------------------------------------
#2.查看鑰匙的目錄:
[root@server ~]# cd /root/.ssh/
id_rsa ---私鑰
id_rsa.pub ---公鑰
known_hosts ----確認(rèn)過公鑰指紋的可信服務(wù)器列表的文件
authorized_keys ---授權(quán)文件弓颈,是傳輸過公鑰到對(duì)方服務(wù)后會(huì)自動(dòng)重命名生成的
-------------------------------------------------------------------
3.拷貝公鑰給對(duì)方:
#ssh-copy-id ip地址
ip地址:指的是對(duì)方服務(wù)器
[root@server ~]# ssh-copy-id 192.168.204.132
-------------------------------------------------------------------
4.遠(yuǎn)程連接的時(shí)候就不用輸入密碼了
[root@server ~]# ssh 192.168.204.132
Last login: Sun Jan 5 10:07:57 2020 from 192.168.204.130
[root@localhost ~]#