Openssh學習筆記

ssh: secure shell安全的shell,一種協議,監聽tcp的22端口,安全的遠程登錄   (telnet 23端口,tcp)


Openssh:ssh協議的開源實現

       服務器                  主機

            《-----------------

               主機請求服務

             ------------------》

       服務器使用自己的私鑰加密一段數據

       主機使用服務器的公鑰解密


安裝telnet   命令: ~]# yum install telnet-server
查看安裝的包      ~]# yum list all telnet*           發現安裝了兩個包,telnet.x86_64,telnet-server.x86_64
~]# chkconfig telnet on
~]# service xinetd restart
~]# ss -tnl       發現23號端口,已經起來了。

                                

SSH協議版本:

v1 :基於CRC-32做MAC,不安全,易受中間人***

v2:雙方主機協議選擇安全的MAC方式,基於DH算法做祕鑰交換,基於RSA或DSA算法實現身份認證。

 

兩種方式的用戶登錄認證:v1 基於password   v2 基於 key


OpenSSH

客戶端組件

ssh,配置文件:/etc/ssh/ssh_config
           格式: ssh [user@]host [command]
    ssh [-l user host [command]
-p prot :設置遠程服務器監聽的端口,儘量不要使用22號端口
-X :支持X11轉發
-Y:支持信任的X11轉發
Host PATTERN
 
基於祕鑰的認證:
1.在客戶端生成祕鑰對
ssh -t rsa [-P ''] [-f "~/.ssh/id_rsa"]   註釋: -p 後面加上密碼,-f指定祕鑰保存目錄
2.把公鑰傳輸到遠程服務器對應用戶的家目錄
ssh-copy-id [-i [identity_file]] [user@]machine
3.測試
 
自加:以基於祕鑰的認證,將centos6(MaGeCentos),192.168.1.103登陸到centos7,192.168.1.104
1.在.103主機的/root/.ssh目錄下生產一對祕鑰
~]# ssh-keygen -t rsa
Enter file in which to save the key (/root/.ssh/id_rsa):    默認把祕鑰保存在/root/.ssh/id_rsa中,我直接選擇默認,按下回車鍵
Enter passphrase (empty for no passphrase):     是否加密,我直接按下回車鍵,選擇不加密
    此時,~]# ls .ssh/   會顯示多出了兩個文件,id_rsa  id_rsa.pub
2.把公鑰傳輸到遠程服務器對應用戶的家目錄
~]# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
3.測試
ssh [email protected]   以後就不用輸入密碼了
問題:
Address 192.168.1.104 maps to bogon, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Now try logging into the machine, with "ssh '[email protected]'", and check in:
 
  .ssh/authorized_keys
 
to make sure we haven't added extra keys that you weren't expecting.
 
哈哈,以經找到解決方法,vim /etc/ssh/ssh_config   將GSSAPIAuthentication  值設爲 no,即可解決此問題。

scp命令(跨主機的文件複製命令):
scp [option] SRC... DEST/
兩種情況:
PULL:scp [option] [user@]host:/PATH/FROM/SOMEFILE /PATH/TO/SOMEFILE
PUSH: scp [option] /PATH/FROM/SOMEFILE [user@]host:/PATH/TO/SOMEFILE
選項:-r 遞歸複製(用於複製目錄)
-p 保持原文件的屬性信息
-q 靜默模式
-P PORT :指明remote host監聽的端口
 
自加:
PULL 機制演示:     ~]# scp [email protected]:/etc/fstab /tmp/fstab.txt    把192.168.1.104下的/etc/fstab複製到192.168.1.103的/tmp/fstab.txt文件中
                                  fstab                                                                100%  501     0.5KB/s   00:00
PUSH機制演示:     ~]# scp /etc/fstab [email protected]:/tmp/  把192.168.1.103的/etc/fstab複製到192.168.1.104下的/tmp目錄下

sftp :
sftp [user@]host
sftp> help
       自加:
~]# sftp [email protected]

服務器端組件:

ssh 配置文件:/etc/ssh/sshd_config
常用參數:
Port 22022
ListenAddress
PermitRootLogin 後面建議改爲NO
UseDNS 改爲no
 
限制可登陸用戶的辦法: 白名單
AllowUsers user1 user2
AllowGroups 

自加:當修改配置文件後,例如修改監聽端口爲22022後,要重啓服務,systemctl restart  sshd.service  (centos7上)
在Centos7上SElinux可能開啓,使用~]# getenforce  查看是否開啓,如果爲Enforcing則表示開啓;使用~]# setenforce 0  將其關閉。
在/etc/ssh/sshd_config  中 UseDNS yes這一項是是否進行DNS反解要改爲no


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章