SSH Server目的:
讓linux系統可以利用SSH機制被遠端操作 (使用公私鑰機制驗證)。
備註1:以下命令已經切換至 root, 若沒有切換至root,記得在命令前面加sudo。
1. 查詢套件安裝狀況
如果只有看到 openssh-client,就是還沒安裝 SSH server。
2. 查詢 ssh 是否有在運作的指令
如果看到
tcp 0 0 *:ssh *:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
表示ssh有在運作
3. 關閉 ssh
4.啟動 ssh
5.重啟 ssh
6. 安裝 ssh
- apt-get upudate //更新套件清單
- apt-get install ssh
7.用戶端SSH金鑰
- key會在家目錄的.ssh
- .ssh可看到 id_ras 、 id_ras.pub。
- id_ras 是私鑰,這個不可以給別人。
- id_ras.pub 是公鑰,這是要給ssh服務的伺服器用的。
8. 上傳公鑰到目標伺服器
- ssh-copy-id -i id_ras.pub [登入帳號]@[位置] // 記得 -i 不加會找錯key
在mac中如果沒有ssh-copy-id指令,有兩種選擇:
a. brew install ssh-copy-id 安裝命令
b. 用scp 上傳 public key
1. 在serve端 ~/ 建立 .ssh資料夾。
cd ~/
mkdir .ssh
2. 在client電腦將公開金鑰上傳
scp id_ras.pub [登入帳號]@[位置]:/home/[帳號名稱]/.ssh/authorized_keys
9. 更改 authorized_keys 權限
- chmod go-w ~/
- chmod 700 ~/.ssh
- chmod 600 ~/.ssh/authorized_keys
10.關閉帳號密碼登入
- sudo vim /etc/ssh/sshd_config
- 將 PermitRootLogin without-password 改成 PermitRootLogin no
- 取消註解 AuthorizedKeysFile %h/.ssh/authorized_keys
- PasswordAuthentication yes 改 PasswordAuthentication no //關閉遠端帳號密碼登入
11. ssh連線
參考資料:
- https://help.ubuntu.com/14.04/serverguide/openssh-server.html
- https://help.ubuntu.com/community/SSH/OpenSSH/Configuring
- https://help.ubuntu.com/community/SSH/OpenSSH/Keys
- http://blog.crboy.net/2012/05/ssh-security-note.html