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 來(lái)檢查下安裝是否正常
使用ssh
- 無(wú)選項(xiàng)參數(shù)運(yùn)行
通常使用SSH的方式就是不加任何選項(xiàng)參數(shù)吠各,僅僅輸入“SSH”
$ ssh 192.168.1.1
- 指定登陸用戶(hù)
默認(rèn)的砂代,ssh會(huì)嘗試用當(dāng)前用戶(hù)作為用戶(hù)名來(lái)連接倘要。因?yàn)槭窃诋?dāng)前用戶(hù)客戶(hù)機(jī)上使用ssh客戶(hù)端。
$ ssh -l leni 192.168.1.1
#等價(jià)于
$ ssh leni@192.168.1.1
- 指定端口
SSH默認(rèn)端口是22。大多現(xiàn)代的Linux系統(tǒng)22端口是開(kāi)放的漱逸。如果你運(yùn)行ssh程序而沒(méi)有指定端口號(hào)强窖,它直接就是通過(guò)22端口發(fā)送請(qǐng)求凸椿。
一些系統(tǒng)管理員會(huì)改變SSH的默認(rèn)端口號(hào)。讓我們?cè)囋嚦崮纾F(xiàn)在端口號(hào)是1234脑漫。要連上主機(jī),就要使用-p選項(xiàng)咙崎,后面再加上SSH端口
$ ssh 192.168.1.1 -p 1234
要改變端口號(hào)窿撬,我們需要修改/etc/ssh/ssh_config
文件,找到此行:
Port 22
把它換成其他端口號(hào)叙凡,比如上面的1234.然后重啟SSH服務(wù)劈伴。
- 對(duì)所有數(shù)據(jù)請(qǐng)求壓縮
有了這個(gè)選項(xiàng),所有通過(guò)SSH發(fā)送或接受的數(shù)據(jù)將會(huì)被壓縮握爷,并且仍然是加密的跛璧。要使用SSH的壓縮功能,使用-C選項(xiàng)
$ ssh -C 192.168.1.1
如果你的聯(lián)網(wǎng)速度很慢的話(huà)新啼,這個(gè)選項(xiàng)非常有用追城。但如果你網(wǎng)速很快的話(huà),壓縮反而會(huì)降低你的速度燥撞∽可以使用-o選項(xiàng)加上壓縮級(jí)別參數(shù)來(lái)控制壓縮的級(jí)別,但這個(gè)選項(xiàng)僅僅在SSH -1下起作用物舒。
指定一個(gè)加密算法色洞。
ssh 提供了一些可用的加密算法」诳瑁可以在/etc/ssh/ssh_config
or~/.ssh/config
文件中看到(如果存在的話(huà))打開(kāi)調(diào)試模式
因?yàn)槟承┰蚧鹬睿覀兿胍粉櫿{(diào)試我們建立的SSH連接情況。SSH提供的-v選項(xiàng)參數(shù)正是為此而設(shè)的荠察。
$ ssh -v 192.168.1.1
- 綁定源地址
如果你的客戶(hù)端有多余兩個(gè)以上的IP地址置蜀,你就不可能分得清楚在使用哪個(gè)IP連接到SSH服務(wù)器。
為了解決這種情況悉盆,我們可以使用-b選項(xiàng)來(lái)指定一個(gè)地市盯荤。這個(gè)IP將會(huì)被使用做建立連接的源地址。
$ ssh -b 192.168.1.1 -l leni 192.168.1.100
服務(wù)端焕盟,我們可以使用netstat命令來(lái)檢查到服務(wù)的連接是否建立秋秤。可以看到IP為192.168.1.1的連接已經(jīng)建立。
- 使用其他配置文件
默認(rèn)情況下航缀,ssh 會(huì)使用位于 /etc/ssh/ssh_config的配置文件商架。這個(gè)配置文件作用于系統(tǒng)的所有用戶(hù)。但你想要為特定的用戶(hù)指定特殊的設(shè)置的話(huà)芥玉,可以把配置文件放入 ~/.ssh/config 文件中蛇摸。如果此文件不存在,可以手工創(chuàng)建一個(gè)灿巧。
#要使用指定配置文件赶袄,可以使用-F選項(xiàng)
$ ssh -F /apple/ssh/my_ssh_config 192.168.1.1
- 使用SSH X11 Forwarding
某些時(shí)候,你可能想把服務(wù)端的 X11 應(yīng)用程序顯示到客戶(hù)端計(jì)算機(jī)上抠藕,SSH 提供了 -X 選項(xiàng)饿肺。但要啟用這功能,我們需要做些準(zhǔn)備盾似,下面是它的設(shè)置:
在服務(wù)器端敬辣,你需要使/etc/ssh/ssh_config
文件中的行設(shè)置成 ForwardX11 yes 或者 X11Forwad yes,以啟用 X11 Forwarding零院,重啟 SSH 服務(wù)程序溉跃。
然后在客戶(hù)端,輸入 ```ssh -X user@host:``
$ ssh -X leni@192.168.0.101
一旦登陸告抄,可以輸入:
$ echo $DISPLAY
來(lái)檢查撰茎,你應(yīng)該可以看到向如下所示的
localhost:10:0
隨后就可以運(yùn)行應(yīng)用了,僅僅只能輸入應(yīng)用程序的命令打洼。讓我們?cè)囋嚵浜热缦脒\(yùn)行 xclock 程序,輸入:
$ xclock
它就運(yùn)行起來(lái)了募疮,xclock 確實(shí)是運(yùn)行在遠(yuǎn)端系統(tǒng)的炫惩,但它在你的本地系統(tǒng)里顯示了。
總結(jié)
#不指定用戶(hù)
ssh 192.168.1.1
#指定用戶(hù)
ssh -l root 192.168.1.1
ssh root@192.168.1.1
#如果修改過(guò)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搔扁,去掉注釋?zhuān)薷某梢粋€(gè)五位的端口:
Port 12333
#找到#PermitRootLogin yes,去掉注釋?zhuān)薷臑椋?PermitRootLogin no
#重啟sshd服務(wù):
service sshd restart