Skip to main content

SSH

設定ssh server [Ubuntu]

先安裝一下 SSH server

sudo apt-get install -y ssh openssh-server

安裝後可以修改一些 ssh 內的設定,例如port (可以換成非22), 是否允許用密碼認證? 以及是否允許root登入?

/etc/ssh/sshd_config
Port 22
PasswordAuthentication yes
PermitRootLogin yes

更改完存檔之後,重啟服務。

指令:

/etc/init.d/ssh restart

免輸入密碼

用public key登入

ssh-copy-id -i (user name)@(IP) 

用別名快速登入遠端機器

個人覺得這個技巧非常實用且對Linux不是很熟悉的人來說很酷,普遍都知道說如果使用ssh登入的話, 不外乎就是ssh (username)@(ip) 頂多加個port number。但此技巧可以用別名來代替直接做登入。 在終端器上可以不必在輸入IP與username等資訊,如果再搭配免密碼登入,基本上就是一秒登入遠端設備,真的是相當實用!

步驟

  1. 先於 .ssh/config 內來設定連線的 Hosts 資訊。
.ssh/config
ServerAliveInterval 60

Host Chieh-PC
HostName 10.1.2.10
Port 22
User chieh

Host旁邊是給一個代表名稱,HostName區域輸入IP,Port是ssh連入的port,User是User name。

  1. 儲存。我們直接於終端器上輸入 ssh Chieh-PC,就可以成功登入遠端伺服器啦!

使用A電腦作為跳板,連進到B電腦

概念像下圖:

一樣在.ssh/config裡面做設定。

而這邊的A電腦是則是Chieh-PC,由於可能是網路設定因素,並不開放由外部可以直接連入B電腦,但是可以藉由A電腦的內部網路連進去。

那我們設定好A電腦(Chieh-PC)的資訊,則在B電腦的設定資訊下方,指定ProxyJump是使用A電腦(Chieh-PC)作為登入就就完成設定了。

.ssh/config
ServerAliveInterval 60

Host Chieh-PC
HostName 10.1.2.10
Port 22
User chieh

Host B-Computer
HostName 10.1.2.100
User user
ProxyJump Chieh-PC