僅學習總結所用
ssh是什麼
- SSH:Secure Shell 安全外殼協議
- 建立在應用層基礎上的安全協議
- 可靠,專爲遠程登錄回話和其它網絡服務提供安全性的協議
- 有效防止遠程管理過程中的信息泄露問題
- SSH客戶端適用於多種平臺
- SSH服務端幾乎支持所有UNIX平臺
服務器安裝SSH服務
# yum install -y openssh-server #安裝
# service sshd start #啓動ssh服務
# ps -ef | grep ssh #查看進程是否啓動
客戶端安裝SSH工具
# yum install -y openssh-clients
客戶端連接SSH服務
# ssh [email protected]
輸入yes 首次登錄須確認服務器公鑰的指紋,以防止中間人攻擊
輸入root用戶密碼
SSH config 詳解
# cd ~/.ssh
# vim config
host "服務器別名"
HostName 服務器IP地址
User 服務器用戶
Port 22
例:
host "hh"
HostName 192.168.40.123
User root
Port 22
# ssh hh 可快速連接服務器
如果有多個服務器,寫多個host即可(一個host一臺服務器)
RedHat中沒有.ssh目錄,需要新建,命令 mkdir -pm 700 .ssh
注:-p 如果目錄已存在不會報錯 -m指定權限碼
SSH 安全免密碼登錄: ssh key
- ssh key 使用非對稱加密方式生成 公鑰 和 密鑰
- 私鑰存放在本地 ~/.ssh 目錄
- 公鑰可以對外開發,放在服務器的 ~/.ssh.authorized_keys
Windows平臺生成ssh key
打開 Xshell 工具→用戶密鑰管理者→生成→一直下一步即可
Linux平臺生成ssh key
# cd ~/.ssh
# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
27:99:17:53:ce:8c:41:04:6b:c3:4f:cc:e9:3e:63:88 [email protected]
The key's randomart image is:
......
注:ssh-keygen -f ~/.ssh/id_rsa -t rsa
ssh選項 | 參數意義 |
---|---|
b | 密鑰位數,>=512,缺省1024 |
f | 密鑰文件名 |
t | 密鑰類型,rsa(默認) 或 dsa |
i | 導入 SSH/SECSH 格式的密鑰 |
服務器配置authorized_keys
# vim ~/.ssh/authorized_keys
將客戶端生成的公鑰複製粘貼到authorized_keys
Linux平臺可能還需執行命令 ssh-add 私鑰文件
纔可登錄成功
SSH安全端口
- 端口安全指的是儘量避免服務器的遠程連接 端口別不法分子知道,爲此而改變默認服務器端口號的操作
- 修改 /etc/ssh/sshd_config 配置改變SSH服務端口
# vim /etc/ssh/sshd_config
找到 #Port 22 去掉註釋#或加一個端口 Port 1234,這樣sshd服務就會監聽這兩個端口
當然,一般都不會修改端口,我們只需要保證密碼足夠複雜或使用 ssh key 的方式登錄,基本上就可以保證安全了