通常一台主機上面不能只有單一一個使用者跟服務
如果今天我們想開一個帳號
讓他可以使用 FTP 服務
卻又不想他登入到主機上面來
我們可以這樣做
首先先建立一個帳號
$ sudo adduser test
然後修改 /etc/passwd 這檔案
$ sudo vim /etc/passwd
把
test:x:1020:1020:test,8708,1234567,1234567:/home/test:/bin/bash
改成
test:x:1020:1020:test,8708,1234567,1234567:/home/test:/sbin/nologin
然後檢查檢查一下 /sbin/nologin 有沒有列在 /etc/shells 裡面
$ sudo vim /etc/shells
如果沒有在裡面的話就把它加進去
我想大家應該都知道ssh的服務僅可能不要用 root 帳號登入
但這是針對以前的 Linux (現在我用Ubuntu)
現在的 Linux (Ubuntu)基本上都用 sudo 暫時取得 root 的權限
所以 ssh 登入不需要用到 root 這帳號
不過問題來了
ssh 其實是不怎麼安全的
如果你沒改port(預設是22)如果人家寫了一隻程式要來暴力破解呢?
不怕一忘只怕萬一阿…
這邊寫了幾個比較簡單的方法
第一、限制root不能ssh登入
$ sudo vim /etc/ssh/sshd_config
將 PermitRootLogin yes 改成 PermitRootLogin no
第二、改port
$ sudo vim /etc/ssh/sshd_config
尋找
# What ports, IPs and protocols we listen for
Port 22
將port改成你想要的port
要改哪個port?
$ sudo less /etc/services
基本上只要裡面沒有的port你都可以用
比如你要改成123
你就把22改成123
存檔以後記得從新啟動ssh
$ sudo /etc/init.d/ssh restart
第三、 金鑰
在網路上還有看到一些文章說
可以做一些認證金鑰
只要有了這個連密碼跟上述兩個方法都不用做
因為它是認這金鑰
有興趣的人可以去看看
上面的參考文章:
http://phorum.study-area.org/viewtopic.php?t=33194
http://phorum.study-area.org/viewtopic.php?t=30083&highlight=ssh+try+block
一開始安裝好了ubuntu以後
是沒有辦法直接從另外一台電腦遠端連線回來主機的
為什麼呢?
因為預設是不會裝 openssh
需補上 openssh-server
http://terryjryeh.blogspot.com/2007/04/ubuntu-server-with-ssh.html
安裝好了以後記得要從新開機
/etc/init.d/sshd restart
os:ubuntu 7.04

![[ubuntu] PuTTYgen – PieTTY 免密碼登入SSH](http://lh3.ggpht.com/_OVN91ibIUyA/TU_xtck-E1I/AAAAAAAAA9I/t_0c6cKPi9Y/p_1.jpg?imgmax=512)
![[ubuntu] 透過 scp 與 crontab 達到定期異機備份](http://lh5.ggpht.com/_OVN91ibIUyA/TS9QYp__IGI/AAAAAAAAA3I/pw3YM_2csj4/backup_1.jpg?imgmax=576)
![[ubuntu] 禁止使用者登入 ssh 但擁有其他服務](http://shanhan.yu.googlepages.com/ubuntu_user_shell1.jpg)




