天天看點

公鑰私鑰帳号綁定ssh登入

公鑰私鑰帳号綁定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

繼續閱讀