背景:centos7或者ubuntu、OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013、xshell5
一、修改端口號
nmap、鐘馗之眼等一些掃描工具會掃描一些常見端口,sshd的22端口必定也在其中
修改/etc/ssh/sshd_config,把 Port 22 修改成你喜歡的端口號,最好是>10000,但是要<65535
二、使用證書登錄
1. 生成密鑰,我這里用的是xshell 5
生成密鑰.png
生成密鑰.PNG
類型選擇RSA,長度自己喜歡
生成密鑰.PNG
生成密鑰.PNG
這里可以選擇保存為文件,然后使用winscp上傳到服務器,然后拷貝內容到(你要登錄的用戶的home目錄)/.ssh/authorized_keys
如:cat id_rsa_2048.pub >>/home/(你要登錄的用戶用戶名)/.ssh/authorized_keys
(推薦)或者直接拷貝公鑰到/home/(你要登錄的用戶用戶名)/.ssh/authorized_keys,沒有.ssh文件夾和authorized_keys就自己新建一個,不過要注意文件所屬者
1.1.(推薦)或者使用ssh-keygen 生成密鑰
選項
- -t #密鑰類型,dsa | ecdsa | ed25519 | rsa | rsa1
- -b bits #密鑰長度 1024 | 2048 |4096 | 8192,默認2048
例:ssh-keygen -t rsa -b 4096
然后可以在/home/(user)/.ssh/ 目錄中找到一對密鑰id_rsa是私鑰, id_rsa.pub是公鑰,然后把公鑰復制到authorized_keys,私鑰自己留著
ok!到這里我們就得到一對密鑰了,一個是公鑰(已經拷貝到服務器上了),一個是私鑰,在xshell5上(在工具->用戶密鑰管理者可以看到),私鑰要導出來,然后隨身攜帶,否者就無法登錄自己的服務器了
2.修改/etc/ssh/sshd_config,修改以下幾個選項
- PermitRootLogin no #不允許root登錄
- StrictModes no #解決Authentication refused: bad ownership or modes for file /home/---/.ssh/authorized_keys的問題
- RSAAuthentication yes #開啟RSA類型認證
- AuthorizedKeysFile .ssh/authorized_keys #認證密鑰文件位置
- PasswordAuthentication no #不允許直接密碼登錄(有了證書登錄,就不用密碼登錄了)
3.登陸服務器
service sshd restart
嘗試登錄:
登錄.PNG
OK!.PNG