openSSH服務及其應用

2021-09-20 05:35:44 字數 4784 閱讀 7899

: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客戶端將會提示是否接收伺服器端傳送...