第一步:root使用者登入
#首先,使用root使用者登入遠端主機(假定IP位址是128.199.209.242 )。
ssh root@128.199.209.242
這時,命令列會出現警告,表示這是一個新的位址,有安全風險。鍵入yes,表示接受。然後,就應該可以順利登入遠端主機。
接著,修改root用戶的密碼。
passwd
第二步:新使用者
首先,新增一個使用者群組(這裡假定為admin使用者群組)。
addgroup admin
然後,新增一個新使用者(假定為bill)。
useradd -d /home/bill -s /bin/bash -m bill
上面指令中,參數d指定使用者的主目錄,參數s指定使用者的shell,參數m表示如果目錄不存在,則建立該目錄。
接著,設定新用戶的密碼。
免費影片教學推薦:linux影片教學
passwd bill
將新用戶(bill)加入到用戶群組(admin)。
usermod -a -G admin bill
接著,為新使用者設定sudo權限。
visudo
visudo指令會開啟sudo設定檔/etc/sudoers,找到下面這一行。
root ALL=(ALL:ALL) ALL
在這一行的下面,再增加一行。
root ALL=(ALL:ALL) ALL bill ALL=(ALL) NOPASSWD: ALL
上面的NOPASSWD表示,切換sudo的時候,不需要輸入密碼,我喜歡這樣比較省事。如果出於安全考慮,也可以強制要求輸入密碼。
root ALL=(ALL:ALL) ALL bill ALL=(ALL:ALL) ALL
然後,先退出root用戶的登錄,再用新用戶的身份登錄,檢查到這一步驟為止,是否一切正常。
exit ssh bill@128.199.209.242
第三步:SSH設定
首先,確定本機有SSH公鑰(一般是檔案~/.ssh/id_rsa.pub),如果沒有的話,使用ssh-keygen指令產生一個(可參考我寫的SSH教學)。
在本機上另開一個shell窗口,將本機的公鑰拷貝到伺服器的authorized_keys檔案。
cat ~/.ssh/id_rsa.pub | ssh bill@128.199.209.242 'mkdir -p .ssh && cat - >> ~/.ssh/authorized_keys' # 或者在服务器端,运行下面命令 echo "ssh-rsa [your public key]" > ~/.ssh/authorized_keys
然後,進入伺服器,編輯SSH設定檔/etc/ssh/sshd_config。
sudo cp /etc/ssh/sshd_config ~ sudo nano /etc/ssh/sshd_config
在設定檔中,將SSH的預設埠22改掉,可以改成從1025到65536之間的任一個整數(這裡假定為25000)。
Port 25000
然後,檢查幾個設定是否設為下面這樣,確保移除前面的#號。
Protocol 2 PermitRootLogin no PermitEmptyPasswords no PasswordAuthentication no RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys UseDNS no
上面主要是禁止root使用者登錄,以及禁止用密碼方式登入。
接著,在設定檔的結尾,指定允許登陸的使用者。
AllowUsers bill
儲存後,退出檔案編輯。
接著,改變authorized_keys檔案的權限。
sudo chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh/
然後,重新啟動SSHD。
sudo service ssh restart # 或者 sudo /etc/init.d/ssh restart
下面的一步是可選的。在本機~/.ssh資料夾下建立config文件,內容如下。
Host s1 HostName 128.199.209.242 User bill Port 25000
最後,在本機另開一個shell窗口,測試SSH能否順利登入。
ssh s1
第四步:執行環境設定
首先,檢查伺服器的區域設定。
locale
如果結果不是en_US.UTF-8,建議都設為它。
sudo locale-gen en_US en_US.UTF-8 en_CA.UTF-8 sudo dpkg-reconfigure locales
然後,更新軟體。
sudo apt-get update sudo apt-get upgrade
最後,再根據需要,做一些安全設置,例如搭建防火牆,關閉HTTP、HTTPs、SSH以外的端口,再例如安裝Fail2Ban。
相關文章教學推薦:linux教學
#以上是怎麼配置屬於自己的linux伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!