歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

SSH的使用和概要

SSH的使用和概要   SSH服務(TCP端口號22):安全的命令解釋器 為客 戶機提供安全的Shell 環境,用於遠程管理 SSH基於公鑰加密(非對稱加密)技術: 數據加密傳輸; 客戶端和服務器的身份驗證; 公鑰 和 私鑰   是成對生成的,這兩個密鑰互不相同,兩個密鑰可以互相加密和解密;                    不能根據一個密鑰而推算出另外一個密鑰;                    公鑰對外公開,私鑰只有私鑰的持有人才知道;   www.2cto.com   數據加密  和  數字簽名  (根據功能不同分的)   發送方使用接受方的公鑰加密數據; 接受方使用自己的私鑰解密數據; 數據加密保證了所發送數據的機密性;   數字簽名:(數字簽名保證數據完整性、身份驗證和不可否認) 發送方:對原始數據執行HASH算法得到摘要值;發送方用自己的私鑰加密摘要值;            將加密的摘要值與原始數據發送給接受方; 接受方:用發送方公鑰解密摘要值,同時對收到的原始數據同樣執行HASH產生另一種摘要值;            將解密的摘要值與產生的摘要值對比;   www.2cto.com   OpenSSH: 服務端主程序:/usr/sbin/sshd 客戶端主程序:/usr/bin/ssh 服務端配置文件:/etc/ssh/sshd_config (重啟shhd服務生效)   客戶端配置文件:/etc/ssh/ssh_config SSH登錄使用的用戶名:服務器中的本地系統用戶的帳號名; SSH登錄的用戶驗證方式 密碼驗證:使用服務器中系統帳號對應的密碼;(PasswordAuthentcation  yes) 密鑰對驗證:使用客戶端中生成的公鑰、私鑰;(PubkeyAuthentication yes  AuthorizedKeyFile  .ssh/authorized_keys)   使用ssh命令遠程登錄方法: 1.ssh 用戶名@服務器地址 2.ssh -l 用戶名  服務器地址  (較少用) 3.ssh 服務器地址(服務器正在使用哪個用戶就以哪個用戶登錄)   另外一些常用SSH相關的命令:   passwd #修改當前用戶密碼 groupadd SSH #添加組 useradd -g SSH -s /bin/'bash' -d /home/user1 user1 #添加用戶 passwd user1 #為用戶user1創建密碼 userdel user1 #刪除用戶user1 groupdel SSH #刪除組SSH 停用帳號,VIM編輯密碼文件,在用戶名後添加 ":*" 。  www.2cto.com    vim /etc/shadow 1 2 service sshd restart # 重啟sshd ps -aux | grep sshd #查看是否運行成功   客戶端密鑰存放位置 ~.ssh目錄下 服務器端的密鑰存放位置 /etc/ssh/ssh_host_*   known_hosts  存放訪問過的服務器的公鑰 authorized_keys 存放需要驗證的客戶機的公鑰 .ssh文件夾和下面的文件權限的組和其它人不能有w權限              ssh訪問很慢的原因和解決辦法 原因:訪問服務器的時候會把服務器的ip地址反向解析為域名,如果無法解析就會導致登陸時很慢 下面三種方法都可以解決這個問題 1、清空/etc/resolv.conf文件中nameserver記錄 2、在客戶機的/etc/hosts文件中添加服務器域名的解析記錄 3、修改客戶機的/etc/ssh/ssh_config文件中:GSSAPIAuthentication no          問題二:若是公鑰文件出了問題,會導致無法認證,解決方法,就是把文件刪除         rm -rf  /root/.ssh/know_hosts         service sshd restart                  配置案例:  www.2cto.com             密碼方式:                        service sshd restart     重啟服務             netstat -anpt  |  grep  sshd   查看端口             登錄主機:ssh [email protected]             ssh直接在遠程主機上新建用戶: ssh [email protected] adduser txy         在密碼認證的時候要看:服務器端中的 /etc/ssh/sshd_config 中PasswordAuthentcation  yes,,才能用密碼認證              第一次訪問服務器時不用輸入yes                 ssh -o StrictHostKeyChecking=no [email protected]                     /etc/ssh/ssh_config客戶端文件                 StrictHostKeyChecking no  第一次訪問服務器時不用輸入yes                      秘鑰方式  www.2cto.com                這裡的例子是一個普通用戶登錄到服務器中的普通用戶,root用戶登錄就更加簡單,不用創建文件,不用修改權限,生成秘鑰的地方的root下                     復制scp的地方也在root下:         服務器端                      查看文件:修改    /etc/ssh/sshd_config中   PubkeyAuthentication yes             創建文件:    mkdir /home/xiaohua/.ssh             修改文件權限:    chomd -R 600 /home/xiaohu/.ssh 在這個文件中別的用戶不能有w權限                  客戶端:             useradd xiaolue             su - xiaolue               ssh-keygen             scp /home/xiaolue/.ssh/id_rsa.pub [email protected]:/home/xiaohua/.ssh/authorized_keys   訪問控制:         /etc/hosts.allow 優先於下面的         /etc/hosts.deny         首先檢查hosts.allow文件,若找到相匹配的策略,則允許訪問;否則繼續檢查hosts.deny文件,若找到了         相匹配的策略,則拒絕訪問;如果兩個文件中都沒有相匹配的策略,則允許訪問;  www.2cto.com             vim /etc/hosts.allow             sshd:210.13.218.*:allow  允許登錄的ip ,allow可以省略                      它能控制服務的范圍:1,受super daemon (xinetd) 服務管理                         2,受支持libwrap.so模塊的服務         查看具體服務是否控制:ldd /usr/sbin/sshd  |  grep wrap                            idd $(which 服務)   |  grep wrap                                  修改後要重啟服務:service xined restart  
Copyright © Linux教程網 All Rights Reserved