:tls/ssl(libssl,libcryto,openssl),tsl pki
telnet,tcp/23,遠端登入
認證明文(密碼認證)
資料傳輸明文
ssh:secure shell ,tcp/22
c/s架構 套接字監聽
ssh --> ssh
openssh(開源) 即是協議,又是軟體
ssh v1(中間人攻擊),v2
客戶端:
linux:ssh
windows:putty,securecrt(商業版),sshsecureshellclient,xmanger
伺服器端:(linux,unix)
sshd
openssh(ssh,sshd)
ssh--->telnet
ssh:主機金鑰
client-------->server
yes:接受伺服器主機發來的公鑰
rsa,dsa
客戶端生成臨時對稱金鑰(會話)隨機生成
對稱金鑰使用伺服器的公鑰加密後傳給伺服器,只有伺服器的私鑰可以解密。
賬號和密碼用對稱金鑰加密後傳給伺服器進行認證。
認證通過,建立乙個永久的會話通道。
基於口令的認證
基於金鑰的認證
客戶端生成一對金鑰,公鑰傳到伺服器的對應使用者的家目錄下,身份認證是客戶端利用自己的私鑰加密一段資料,伺服器用客戶的公鑰解密。可解,則認證通過。
不允許root直接登入,而是用普通使用者,在su切換。
限定某些臺有限主機能夠登入
在前端vpn,允許vpn的ip位址登入,先登入到vpn在ssh到主機。
改變埠
經常換密碼
[root@li ~]# rpm -qa |grep openssh
openssh-clients-5.3p1-84.1.el6.x86_64
openssh-5.3p1-84.1.el6.x86_64 通用元件及庫
openssh-askpass-5.3p1-84.1.el6.x86_64
openssh-server-5.3p1-84.1.el6.x86_64
rpm -qi openssh-5.3p1-84.1.el6.x86_64
netstat -tln
netstat -rn 路由表
udp 無狀態
tcp listen
netstat -p process|program
servcie sshd status
lsof -i:22
lsof(list open files)是乙個列出當前系統開啟檔案的工具,可以用來恢復刪除的資料。
ssh (ssh_conf)
sshd (sshd_conf)
/etc/ssh/
moduli:和金鑰交換,認證有關的
不同sshv1 dsa ,sshv2 rsa 沒有
注意:許可權 私鑰600 公鑰644
├─sshd─┬─3*[sshd───bash]
│ └─sshd───bash───pstree
sshd主程序,會建立多個子程序
配置項格式: var values
修改埠 port 2223
addressfamily any :ipv4,ipv6哪個位址
listenaddress 0.0.0.0 都監聽 在哪乙個位址上監聽
keyregenerationinterval 1h 金鑰重新生成金鑰的時間
serverkeybits 1024 金鑰長度
syslogfacility authpriv
loglevel info
logingracetime 2m 登入的寬限期,建立會話後,要輸賬號和密碼。
permitrootlogin yes 是否允許root直接登入。
strictmodes yes 是否使用嚴格限定模式
maxauthtries 6 最大可以嘗試輸錯
maxsessions 10
#rsaauthentication yes 是否支援rsa認證
#pubkeyauthentication yes 基於金鑰認證
#authorizedkeysfile .ssh/authorized_keys
#authorizedkeyscommand none
#authorizedkeyscommandrunas nobody
#rhostsrsaauthentication no 主機認證
passwordauthentication yes
challengeresponseauthentication no
usepam yes
#banner none 標語
#printmotd yes 是否列印/etc/motd裡的內容
#printlastlog yes 列印上次登入 ,不啟用資訊洩露。
涉及安全,資訊越少越好。
subsystem sftp /usr/libexec/openssh/sftp-server
和ftps不同。
man sshd_config
kill -l
ssh - openssh ssh client (remote login program)
ssh [-1246aacfgkkmnnqsttvvxxyy] [-b bind_address] [-c cipher_spec] [-d [bind_address:]port] [-e escape_char]
[-f configfile] [-i identity_file] [-l [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec]
[-o ctl_cmd] [-o option] [-p port] [-r [bind_address:]port:host:hostport] [-s ctl_path] [-w host:port] [-w
local_tun[:remote_tun]] [user@]hostname [command]
如果不指定使用者,則以當前的使用者切換過去。
ssh -l root host
ssh root@host
~/.ssh/known_host 主機金鑰
不登入主機,僅在主機上執行命令,並返回執行結果。
ssh -l username remotehost ['command'] 可以不用引號
ssh -x
-x enables x11 forwarding.
-y enables trusted x11 forwarding.
執行圖形視窗
-p 埠
一台主機為客戶端(基於某個使用者實現 ),
1. 生成一對金鑰
ssh-keygen
ssh-keygen -t rsa
金鑰儲存在~/.ssh/id_rsa
可以指定金鑰的名稱
2. 將公鑰傳輸至伺服器端某使用者的家目錄下的.ssh/authorized_keys檔案中使用檔案傳輸工具傳輸(ssh-copy-id,scp)
ssh-copy-id -i /path/pubkeyname username@host
ssh-copy-id .ssh/id_rsa.pub [email protected]
scp .ssh/id_rsa.pub [email protected]:/tmp
ssh [email protected] cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys
3. 測試登入基於ssh的遠端複製命令,可以實現在主機之間傳輸資料。
scp [option] src dest
remote_host:
username@host:file
synopsis
scp [-1246bcpqrv] [-c cipher] [-f ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-p port] [-s program]
[[user@]host1:]file1 ... [[user@]host2:]file2
目錄 -r
-p-a
.ssh的許可權是700
-f filename
specifies the filename of the key file
ssh-keygen -t rsa -f .ssh /id_rsa
[-n new_passphrase]
-t rsa|dsa
-f /path/
-n 'passwd' 在指令碼中使用
ssh-copy-id - install your public key in a remote machine』s authorized_keys
ssh-copy-id [-i [identity_file]] [user@]machine
密碼要經常換
使用非預設埠;
限制登入客戶位址
禁止管理員直接登入
僅允許有限的使用者登入
使用基於金鑰的認證
禁止使用版本1
論微服務架構及其應用
宣告 本文為本人在軟考系統架構設計師備考期間的練手寫作,不保證內容的原創性與正確性,僅供參考,請勿照抄和用於學術 等正規場合,因不當使用產生後果一律自負。系統自2019年10月正式上線已執行一年有餘,在學校的日常教學考試和競賽培訓中投入使用,截至目前已有3000以上的學生使用者 評測了70000條以...
論面向服務架構及其應用
摘要 soa定義 面向服務的體系結構 soa 是乙個元件模型,它將應用程式的不同功能單元 稱為服務 通過這些服務之間定義良好的介面和契約聯絡起來。介面是採用中立的方式進行定義的,它應該獨立於實現服務的硬體平台 作業系統和程式語言。這使得構建在各種這樣的系統中的服務可以以一種統一和通用的方式進行互動。...
Openssh遠端連線伺服器
客戶端 ssh登入 生成 rsa金鑰,用於免密登入 ssh1是基於 crc cyclic redundancy check 迴圈冗餘校驗 來做校驗資料傳輸,後來發現這種編碼技術有缺陷 ssh客戶端請求到伺服器 openssh伺服器的 sshd將會傳送乙個公鑰 ssh客戶端將會提示是否接收伺服器端傳送...