公鑰私鑰帳号綁定ssh登入
假設某台客戶機C,想要遠端登入到伺服器S,那麼需要在伺服器S上面執行下面的指令:
一、賬戶建立改密碼等
(1)建立賬戶
sudo adduser henry
把賬戶加入到sudo組裡(即賦予更廣闊的權限):sudo usermod -a -G sudo henry
sudo usermod -a -G sudo liuzhaoyzz
getent group sudo
(2)删除賬戶:
終端方法:sudo userdel -r henry
(3)修改帳号密碼:sudo passwd henry
二、在伺服器S上面建立公鑰-私鑰對,注意要用某個賬戶的公鑰+私鑰這個密鑰對登入,公鑰應該放在/home/username/.ssh/authorized_keys,或者說username登入後的~/.ssh/authorized_keys
切換到需要綁定的賬戶:su user
cd ~
mkdir .ssh
ls ~/.ssh
cd ~/.ssh
ssh-keygen -f id_rsa -t rsa
生成密鑰對,公鑰id_rsa.pub和私鑰id_rsa(沒有擴充名)
cp id_rsa.pub authorized_keys
cd ~/
chmod 700 /.ssh
chmod 644 /.ssh/authorized_keys //公鑰檔案的所有權限
chmod 644 /.ssh/id_rsa //私鑰檔案的所有權限
這裡要注意了,私鑰id_rsa必須給予權限644,才能拷貝到客戶機C上面,可以用任何可用的辦法拷貝到客戶機C上面,比如通過其他已登入賬戶ssh+sftp方式導出。
三、伺服器S的登入方式相關選項
1、防火牆端口當然要開,比如22
ufw list
sudo ufw status
sudo ufw allow 22
sudo ufw allow openssh
sudo ufw enable
sudo ufw reload
sudo ufw status numbered
sudo ufw xxx,删除某一條規則
2、您需要注意,如果您的Linux伺服器已啟用密鑰方式登入,伺服器會自動禁止使用root使用者及密碼的方式登入。如果您需要重新使用使用者密碼方式登入,需要修改配置檔案。具體操作,請參見重新啟用密碼登入方式。
sudo nano /etc/ssh/sshd_config
PasswordAuthentication yes
#改成yes就可以支援密碼登陸
(1)找到 #StrictModes yes 改成 StrictModes no (去掉注釋後改成 no)
(2)找到 #PubkeyAuthentication yes 改成 PubkeyAuthentication yes (去掉注釋)
(3)找到 #AuthorizedKeysFile .ssh/authorized_keys 改成 AuthorizedKeysFile .ssh/authorized_keys (去掉注釋)
(4)儲存
(5)如果配置檔案修改了,就需要重新開機ssh服務使之生效
/etc/rc.d/init.d/sshd reload 重新加載sudo /etc/init.d/ssh restart
sudo service ssh start
sudo service ssh restart
service ssh status
systemctl restart ssh.service