Debian / Ubuntu:
#安裝ssh-client
$ sudo apt-get install openssh-client
#安裝ssh-server
$ sudo apt-get install openssh-server
RedHat / CentOS
# yum install openssh-server openssh-clients
一旦安裝上,我們就可以在終端輸入 ssh 來檢查下安裝是否正常
使用ssh
- 無選項(xiàng)參數(shù)運(yùn)行
通常使用SSH的方式就是不加任何選項(xiàng)參數(shù),僅僅輸入“SSH”
$ ssh 192.168.1.1
- 指定登陸用戶
默認(rèn)的,ssh會嘗試用當(dāng)前用戶作為用戶名來連接。因?yàn)槭窃诋?dāng)前用戶客戶機(jī)上使用ssh客戶端。
$ ssh -l leni 192.168.1.1
#等價于
$ ssh leni@192.168.1.1
- 指定端口
SSH默認(rèn)端口是22。大多現(xiàn)代的Linux系統(tǒng)22端口是開放的。如果你運(yùn)行ssh程序而沒有指定端口號,它直接就是通過22端口發(fā)送請求。
一些系統(tǒng)管理員會改變SSH的默認(rèn)端口號。讓我們試試,現(xiàn)在端口號是1234。要連上主機(jī),就要使用-p選項(xiàng),后面再加上SSH端口
$ ssh 192.168.1.1 -p 1234
要改變端口號,我們需要修改/etc/ssh/ssh_config
文件,找到此行:
Port 22
把它換成其他端口號,比如上面的1234.然后重啟SSH服務(wù)。
- 對所有數(shù)據(jù)請求壓縮
有了這個選項(xiàng),所有通過SSH發(fā)送或接受的數(shù)據(jù)將會被壓縮,并且仍然是加密的。要使用SSH的壓縮功能,使用-C選項(xiàng)
$ ssh -C 192.168.1.1
如果你的聯(lián)網(wǎng)速度很慢的話,這個選項(xiàng)非常有用。但如果你網(wǎng)速很快的話,壓縮反而會降低你的速度。可以使用-o選項(xiàng)加上壓縮級別參數(shù)來控制壓縮的級別,但這個選項(xiàng)僅僅在SSH -1下起作用。
指定一個加密算法。
ssh 提供了一些可用的加密算法。可以在/etc/ssh/ssh_config
or~/.ssh/config
文件中看到(如果存在的話)打開調(diào)試模式
因?yàn)槟承┰颍覀兿胍粉櫿{(diào)試我們建立的SSH連接情況。SSH提供的-v選項(xiàng)參數(shù)正是為此而設(shè)的。
$ ssh -v 192.168.1.1
- 綁定源地址
如果你的客戶端有多余兩個以上的IP地址,你就不可能分得清楚在使用哪個IP連接到SSH服務(wù)器。
為了解決這種情況,我們可以使用-b選項(xiàng)來指定一個地市。這個IP將會被使用做建立連接的源地址。
$ ssh -b 192.168.1.1 -l leni 192.168.1.100
服務(wù)端,我們可以使用netstat命令來檢查到服務(wù)的連接是否建立。可以看到IP為192.168.1.1的連接已經(jīng)建立。
- 使用其他配置文件
默認(rèn)情況下,ssh 會使用位于 /etc/ssh/ssh_config的配置文件。這個配置文件作用于系統(tǒng)的所有用戶。但你想要為特定的用戶指定特殊的設(shè)置的話,可以把配置文件放入 ~/.ssh/config 文件中。如果此文件不存在,可以手工創(chuàng)建一個。
#要使用指定配置文件,可以使用-F選項(xiàng)
$ ssh -F /apple/ssh/my_ssh_config 192.168.1.1
- 使用SSH X11 Forwarding
某些時候,你可能想把服務(wù)端的 X11 應(yīng)用程序顯示到客戶端計(jì)算機(jī)上,SSH 提供了 -X 選項(xiàng)。但要啟用這功能,我們需要做些準(zhǔn)備,下面是它的設(shè)置:
在服務(wù)器端,你需要使/etc/ssh/ssh_config
文件中的行設(shè)置成 ForwardX11 yes 或者 X11Forwad yes,以啟用 X11 Forwarding,重啟 SSH 服務(wù)程序。
然后在客戶端,輸入 ```ssh -X user@host:``
$ ssh -X leni@192.168.0.101
一旦登陸,可以輸入:
$ echo $DISPLAY
來檢查,你應(yīng)該可以看到向如下所示的
localhost:10:0
隨后就可以運(yùn)行應(yīng)用了,僅僅只能輸入應(yīng)用程序的命令。讓我們試試,比如想運(yùn)行 xclock 程序,輸入:
$ xclock
它就運(yùn)行起來了,xclock 確實(shí)是運(yùn)行在遠(yuǎn)端系統(tǒng)的,但它在你的本地系統(tǒng)里顯示了。
總結(jié)
#不指定用戶
ssh 192.168.1.1
#指定用戶
ssh -l root 192.168.1.1
ssh root@192.168.1.1
#如果修改過ssh登陸端口
ssh -p 12333 192.168.1.1
ssh -l root -p 12333 192.168.1.1
ssh -p 12333 root@192.168.1.1
#另外修改配置文件/etc/ssh/sshd_config,可以改ssh登錄端口和禁止root登錄。改端口可以防止被端口掃描。
#編輯配置文件:
vim /etc/ssh/sshd_config
#找到#Port 22,去掉注釋,修改成一個五位的端口:
Port 12333
#找到#PermitRootLogin yes,去掉注釋,修改為:
PermitRootLogin no
#重啟sshd服務(wù):
service sshd restart