歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> SSH的使用和概要

SSH的使用和概要

日期:2017/3/1 16:56:17   编辑:關於Linux
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