---
# System prepended metadata

title: Linux server 更改Hostname、SSH 免密碼登入以及Putty一鍵登入

---

Linux server 更改Hostname、SSH 免密碼登入以及Putty一鍵登入
===

更改Hostname
--
顯示目前主機名稱設定

"hostnamectl"

```程式類型
 Static hostname: localhost.localdomain
         Icon name: computer-server
           Chassis: server
        Machine ID: eef455cb865546e8bab65e9b17ecb5b7
           Boot ID: 6ba7bd2e94ab4543b9ae54865dfc0785
  Operating System: Ubuntu 22.04.1 LTS
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel:  Linux 5.15.0-52-generic
      Architecture: x86-64
```

若想更改hostname則使用
hostnamectl set-hostname + 欲改的名稱
以 "hostnamectl set-hostname HW04"  為例
在更改後用 "hostnamectl" 來查看會顯示

![](https://i.imgur.com/oaDfpoY.png)


如此即更改hostname成功!!!

資料來源 :<https://blog.gtwang.org/linux/redhat-centos-7-change-hostname-tutorial/>

SSH免密碼登入
--

1.先打開兩個終端機，一個登入Linux Server，而第二個終端機(本地端)不用。

在本地端輸入 ```ssh-keygen -t rsa -b 4096``` 產生金鑰，此時會有三個問題要填

這時，它會開始產生金鑰，然後以下是它會在產生時詢問的問題:

Enter file in which to save the key… (你需要將此金鑰儲存成什麼樣的名稱?)

Enter passphrase… (加入一些密碼字串保護)

Enter same passphrase again… (再輸入一次密碼保護字串)

通常這三個問題直接點Enter，就會產生金鑰


2.接著就會在C:\Users\user內產生 .ssh 資料夾

![](https://i.imgur.com/8nIxkCL.png)

.pub檔即是公鑰而另一個id_rsa為私鑰

3.接著我們需要將在本地端產出的公鑰傳送到Server端上

所以我們在本地端上輸入

"scp 剛剛產生的.pub檔案放置的路徑 帳號@IP位置:/路徑/.ssh/傳過去之後想要的名稱.pub"

4.傳送成功後就是授權，在Server端上輸入

"cat ~/.ssh/你的公開金鑰名稱.pub >> ~/.ssh/authorized_keys"

然後你就會發現，在.ssh這個資料夾內多了一個authorized_keys的檔案。

可用 ```cd .ssh``` 後再輸入 ```ls``` 來檢查是否有authorized_keys

最後，你只要再輸入以下語法就大功告成了:

```
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/*
```

使用Putty免密碼登入
--

1.先使用Puttygen將私鑰(id_rsa)轉成.ppk檔，放在.ssh資料夾內

2.開啟 PuTTY, 點選已經儲存了的 Sessions 按 “Load”.

3.在左邊選單按 “Connection” -> “Data”, 在 “Auto-login username” 輸入登入的使用者名稱.

4.在 “Connection” -> “SSH” -> “Auth”, 在 “Private key file for authentication:” 選擇在第 2 步儲存的 Private key.

5.在左邊選單按 “Session”, 按 “Save”.

接著便能用Putty來進行一鍵登入了!!!

![](https://i.imgur.com/cDmU7Bx.png)


資料來源: 

https://raise-up.com.tw/web-design-news/ssh-key-tutorial.html/

https://www.ltsplus.com/linux/putty-login-ssh-without-password



