文章目錄
- 確認當前用戶為普通用戶 or root
- 命令使用ssh還是sshd
- 服務名稱的由來
- apt update和apt upgrade的關系
- apt upgrade報錯:“E: 您在 /var/cache/apt/archives/ 上沒有足夠的可用空間”
- 開啟ssh步驟
- 錯誤排查
- 查看日志
- 修改sshd_config文件
- 允許防火墻通過22端口
確認當前用戶為普通用戶 or root
我當前是一個普通用戶,需要使用sudo命令;如何判斷當前用戶為普通用戶 or root:
方法一:查看命令行提示符
root@hostname:~# // 普通用戶以#結尾
username@hostname:~$ // 普通用戶以$結尾
方法二:使用id
命令
iduid=0(root) gid=0(root) groups=0(root) // root 用戶:會顯示 uid=0(root)
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),24(cdrom),27(sudo) // 普通用戶:uid 為非零值(如 uid=1000(username))
命令使用ssh還是sshd
ubuntu中沒有sshd命令,只有ssh,指的就是sshd
centos中用的是sshd
服務名稱的由來
sshd
:
OpenSSH 服務器的守護進程名稱為sshd
(Secure Shell Daemon),其 systemd 服務文件通常為/lib/systemd/system/ssh.service
,但服務名仍為ssh
(Debian/Ubuntu 的命名習慣)。ssh
:
在 Debian/Ubuntu 中,OpenSSH 服務器的 systemd 服務名稱被簡化為ssh
(出于歷史兼容性),但實際調用的進程仍是sshd
apt update和apt upgrade的關系
sudo apt update
更新系統安裝包列表,沒有更新安裝包
sudo apt upgrade -y
-y 表示下面問問題都回答yes; 更新安裝包;可能會占用很大的內存
apt upgrade報錯:“E: 您在 /var/cache/apt/archives/ 上沒有足夠的可用空間”
解決方案:使用軟鏈,換個更大的地方存:
df -h // 看看哪個剩余空間大
sudo mkdir /dev/shm/cache // 在空間大的目錄下創建
sudo rm -rf /var/cache/apt/archives // 刪除原文件,原文件在 / 下,所以新文件夾建在其他mounted on下
sudo ln -s /dev/shm/cache /var/cache/apt/archives // 創建軟鏈
sudo apt upgrade // 重新執行失敗命令
開啟ssh步驟
步驟一:sudo apt update
// 更新系統軟件包列表和源信息
步驟二:sudo apt install openssh-server -y
// -y 表示所有的問題選yes
步驟三:sudo systemctl start ssh
// 啟動ssh
步驟四:sudo systemctl status ssh
// 查看當前狀態
步驟五:sudo systemctl enable ssh.service
再次查看狀態:sudo systemctl status ssh
步驟六:passwd
// 設置密碼(普通用戶)
如果沒設置過,命令passwd
就會直接輸入新密碼;如果修改過密碼,命令passwd
需要先輸入當前密碼,再設置新密碼。
忘記當前密碼, 強制修改密碼: sudo passwd $username
;查看當前用戶命令:whoami
步驟七:sudo systemctl enable ssh
設置開機自啟
步驟八:ip a
查看當前ip
步驟九:ssh $username@ip
嘗試連接服務
錯誤排查
查看日志
sudo tail -f /var/log/auth.log
實時查看日志,嘗試連接時此處會實時打印相應日志;sudo systemctl status ssh
也能在底部看到實時日志
常見錯誤:
- Failed password for username 密碼錯誤
- Permission denied(publickey) 未允許密碼登錄
- User Username not allowed because shell is /bin/false 用戶shell被禁用
注意:錯誤信息是參考,比如密碼錯誤日志不一定是密碼錯誤
修改sshd_config文件
sudo apt install vim
sudo vim /etc/ssh/sshd_config# 修改/etc/ssh/sshd_config文件
# 搜索: /PasswordAuthentication //(/表示搜索)
# 設置:PasswordAuthentication yes
# 注意:默認不允許root用戶賬號密碼訪問,需要設置PermitRootLogin yessudo systemctl restart ssh // 重啟ssh服務,以應用更改
允許防火墻通過22端口
sudo ufw status
查看防火墻是否開啟;若為inactive,表示未開啟僅應用底層規則,相當于允許所有端口通過;
若開啟防火墻了,需要允許ssh端口通過
sudo ufw allow ssh // 規則變更后立即生效,無需重啟防火墻;如果修改配置文件,需要手動重啟
開啟后,通過sudo ufw status
查看開啟狀態,示例: