2024年5月3日 星期五

Use ssh key without password to login Linux in Windows

在Windows下使用SSH Key免密碼直接登入Linux主機

已經在Windows下使用PuTTYgen產生ppk檔。現在設定PuTTY使用ppk檔免密碼直接登入Linux主機,紀錄設定過程。
PuTTY程式可以直接在官網單獨下載最新版本,也可以直接下載PuTTY程式完整安裝。
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

PuTTY.exe,現在使用0.81版本。

PuTTY-0.81


PuTTY 設定

1.設定連線主機Session

   選取「Session」>在Host Name (or IP address)設定新的連線主機。如果要修改已設定主機,先選取Saved Sessions的主機,再選取Load載入主機設定。

New Host Session


2.設定Public-key authentication

   選取「Connection」>「SSH」>「Auth」>「Credentials」中 Public-key authentication 的 Private key file for authentication Browe來指定檔案。

set Public-key authentication


   選取相關的ppk檔。

Load Public-key ppk

  指定檔案完成。

check Public-key ppk


3.設定Auto-login username

   選取「Connection」>「Data」中 Login details,在 Auto-login username 輸入登入使用者帳號。
  設定完成後,記得到「Session」,選取主機的Sessions,再選取Save儲存主機設定。

Auto-login username


驗證結果

1.使用Linux生成SSH Key經PuTTYgen轉換的ppk檔,登入成功畫面。

use linux ssh key login


2.在Windows使用PuTTYgen生成SSH Key匯出為Linux使用的檔案(bee02-publickey)。
    將bee02-publickey檔案放入遠端主機的使用者Home目錄下。再執行匯入指令,將公鑰匯入檔案。

import Puttygen rsa
      
  登入成功畫面。

use windows ssh key login




2024年5月1日 星期三

投資-202405

 投資-202405

5/1
台股4月出現震盪,4/10創下歷史新高20883點,4/19低點19291,跌破2萬點,期間高低點達1592點。4/30收20396點,外資單月賣超1518億。
台積電4/12歷史新高826,但法說會後半導體產業前景疑慮,造成台美股科技大跌。。
4月美股整體表現不佳,道指下跌5%,創2022年9月以來最差月度表現。標普500指數下跌約4.2%,納斯達克指數下跌約4.4%。三大指數終結五個月的連漲走勢。NVDA跌破900, SMCI跌破1000,TSLA跌至14x,反彈至19x。
美國Q1經濟成長率放緩、通膨率持續反,聯準會將延後降息,或轉鷹派再次升息。
4月因台股大跌期間部分加碼且購買00937B。

總投入金額 125037
總市值 151174
20240501


配置
20240501-圓



How to create an SSH key in Windows using PuTTYgen

如何使用PuTTYgen 在Windows建立SSH金鑰

Linux設定SSH key 免密碼登入直接在主機生成金鑰就可以使用,如果要在windows下使用PuTTY設定SSH key 免密碼登入Linux主機,
要先使用PuTTYgen直接產生Windows使用的ppk檔,或將Linux生成的金鑰轉換為Windows使用ppk檔。

官網說明
PuTTYgen 是一個金鑰產生器。它產生要與 PuTTY、PSCP、PSFTP 和 Plink 以及 PuTTY 驗證代理 Pageant 一起使用的公鑰和私鑰對。PuTTYgen 產生 RSA、DSA、ECDSA 和 EdDSA 金鑰。
https://the.earth.li/~sgtatham/putty/0.81/htmldoc/Chapter8.html#pubkey-puttygen

可以直接在官網下載最新版本,也可以直接下載PuTTY程式完整安裝,就會包含PuTTYgen。
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

PuTTYgen Release 0.81

PuTTYgen Release 0.81

PuTTYgen產生金鑰

先選擇加密方式RSA 及 2048位元長度,再選取Generate a public/private key pair 的 「Generate」,就能開始建立SSH密鑰。

Generate a public/private key pair


在設定過程,滑鼠在Key區塊內隨意移動,產生雜湊數據,讀取條才會增加。

move mouse


等讀取條跑完就產出密鑰,點取「Save Public key」或「Save private key」,儲存為ppk檔。

Save private key


選取「Conversions」>「Export OpenSSH key」。匯出為linux使用的檔案格式。再將密鑰匯入主機。

Export OpenSSH key


PuTTYgen轉換Linux 的金鑰

執行PuTTYgen.exe,選取「Conversions」>「Import key」。

PuTTYgen import key


選擇已有的金鑰檔案。
select rsa file

匯入後,選取「Save private key」。
import save private key

輸入檔案名稱,存檔類型為Putty Private Key Files(.ppk),副檔名為ppk。
save private key ppk file


後續在Windows 設定PuTTY、WinSCP 等軟體經由SSH使用密鑰方式登入Linux主機。


2024年4月5日 星期五

WinSCP 更新及設定

WinSCP 更新及設定

之前因為SSH Terrapin Prefix Truncation Weakness (CVE-2023-48795)問題,調整主機SSH,發現WinSCP連線有問題,發現版本過舊(5.15.5),直接至官網更新版本。

安裝使用

官網下載免安裝版,解壓縮直接使用,現在是6.3.2。
https://winscp.net/eng/downloads.php

偏好設定

winscp setup

winscp setup-02

修改中文(繁體,台灣)介面

感謝 Mark Lin 和 Hong-Yi Chen 將正體中文100%翻譯完成。
中文檔下載https://winscp.net/translations/dll/6.3.2/ch.zip
解壓縮Traditional Chinese壓縮檔(ch.zip),然後把語言檔(WinSCP.ch)放在與 WinSCP.exe相同的資料夾。
winscp-03

啟動WinSCP.exe,選取「工具」>「環境設定」>「語言」>選取「中文(繁體,台灣)」>「確定」。

winscp change  language

顯示隱藏檔

WinSCP登入主機後,預設不會顯示隱藏檔。如果要設定部分功能,如公私鑰檔案。
啟動WinSCP.exe,選取「工具」>「偏好設定」>「窗格」>選取「顯示隱藏檔」>「確定」。

winscp show

應用程式設定

因為使用免安裝版,部分程式未安裝,手動下載再進行設定。
PuTTY程式可以直接在官網單獨下載最新版本。
啟動WinSCP.exe,選取「工具」>「整合」>「應用程式」>選取「putty.exe的位置」>「確定」。
winscp+putty





2024年4月3日 星期三

投資-202404

投資-202404

3/31
台股3月大漲7%,不僅站上2萬點,盤中新高20397.07點,3/29收盤新高20,294點。
統一台灣高息動能(00939)、元大臺灣價值高息(00940)二檔ETT募集2,283億元,全數在3月布局完成。
輝達GTC大會發表GB200,拉動AI相關產業,帶動台廠供應鏈,台積電新高796,鴻海站上150。
美聯準會將於今年開始降息,預期降息3碼。將調整定期金額。

總投入金額 104267
市值 132111

20240331


2024年3月30日 星期六

在 RedHat Linux 8/9 使用pam_pwquality設定密碼原則和複雜性

在 RHEL 8/9 中設定以下密碼原則和複雜性需求

參考;原廠資料1。有說明以下設定
1.強制 root 密碼複雜性。
2.密碼大小(新密碼可接受的最小長度)。
3.設定密碼的位數限制。
4.設定密碼中大寫字元的數量限制。
5.設定密碼中小寫字元的數量限制。
6.設定密碼中其他字元的數量限制。
7.設定密碼中所需類別的最小數量(數字、大寫字母、小寫字母、其他)。
8.設定密碼中允許的連續相同字元的最大數量。
9.設定密碼中允許的同一類連續字元的最大數量。
10.設定舊密碼中不得出現在新密碼中的字元數。
11.不應允許使用者在密碼中包含使用者名稱。
上述要求可以透過pam_pwquality達成。預設情況下,此模組在所有 SSSD 設定檔中啟用。

設定說明

可以依據需求將以下設定加入/etc/security/pwquality.conf中。

1.強制 root 密碼複雜性。

enforce_for_root

2.密碼大小(新密碼可接受的最小長度)。

minlen = 9       
密碼最小長度為9個字元

3.密碼中包含數字的最大信用。

dcredit = -1
密碼必須包含數字的數量

4.密碼中包含大寫字元的最大信用。

ucredit = -1
密碼必須包含大寫字母的數量

5.密碼中包含小寫字元的最大信用。

lcredit = 1
密碼必須包含小寫字母的個數

6.密碼中包含特殊字元的最大信用。

ocredit = 1
密碼必須包含特殊字元的數量

7.密碼中所需字元類別的最小數量。

minclass = 1

8.密碼中允許的連續相同字元的最大數量。

maxrepeat = 2
最多只允許2個連續字元(如果是0,則停用該選項)

9.密碼中允許的同類連續字元的最大數量。

maxclassrepeat = 2
最多只允許2個連續字元(如果是0,則停用該選項)

10.設定舊密碼中不得出現在新密碼中的字元數。

difok = 5
新密碼最多可以有5個字元和舊密碼相同
此選項對root沒有作用,因為root不會被要求輸入舊密碼,因此不會執行比較新舊密碼的檢查

11.不應允許使用者在密碼中包含使用者名稱。

啟用pam_pwquality,預設強制執行這個條件。
可以檢查/etc/security/pwquality.conf
---
# Whether to check if it contains the user name in some form.
# The check is enabled if the value is not 0.
# usercheck = 1
#
# Length of substrings from the username to check for in the password
# The check is enabled if the value is greater than 0 and usercheck is enabled.
# usersubstr = 0
---

關於3.4.5.6選項設定使用信用(credit),可根據要求以不同方式配置信用值。
信用值評估如下:
信用值 > 0:新密碼中包含對應字元的最大信用值。
信用值 < 0:新密碼中包含對應字元所需的最低強制信用值。
信用值 = 0:對於新密碼中的對應字元類別沒有強制要求。

另外以下參數在網路上查到參考使用
1.只限定本機帳號
local_users_only

2.密碼3次嘗誤後產生錯誤提示
retry=3

3.新密碼不能和最近用過的4次密碼相同
remember=4

4.使用sha512 加密方法加密
sha512

2024年3月28日 星期四

在 RedHat Linux 8/9 使用pam_faillock鎖定使用者帳戶

在 RedHat Linux 8/9 使用pam_faillock鎖定使用者帳戶

在之前在Linux使用pam_faillock鎖定使用者帳戶,是在CentOS 7.9設定達成,在RHEL 8/9參考資料2進行設定。

設定配置

在RHEL 8/9不建議直接編輯/etc/pam.d/system-auth和/etc/pam.d/password-auth。
將使用authselect啟用/停用pam_faillock,在RHEL 7則是使用authconfig 進行配置。

要正確使用faillock.conf配置,請先更新至authselect-1.2.1-2.el8和pam-1.3.1-8.el8或更高版本。
# dnf upgrade authselect pam

啟用faillock

# authselect current                                          <--- 檢查現有設定 
# authselect check                                           <--- 檢查現有設定
# authselect enable-feature with-faillock           <--- 啟用faillock 
# authselect select sssd with-faillock                 <--- 使用設定檔並啟用faillock
# authselect select sssd with-faillock  --force    <--- 使用 --force 強制設定

停用faillock

# authselect disable-feature with-faillock

設定faillock限制

faillock限制設定檔/etc/security/faillock.conf
---
deny=3
unlock_time=600
silent
---
使用者3次失敗後鎖定使用者帳號10分鐘(600 秒)。

驗證檢查

使用faillock 重設/檢查失敗記錄。

顯示username認證失敗記錄:
# faillock --user username

重置username認證失敗記錄:
# faillock --user username --reset

特別設定

限制root

如果要特別限制root,在/etc/security/faillock.conf,增加even_deny_root。

變更鎖定重置持續時間

連續認證失敗時間間隔由fail_interval=n選項控制。預設值為 900(15 分鐘)。
若要將間隔變更為 10 分鐘,請在/etc/security/faillock.conf 修改。
---
fail_interval=600
---

排除特定用戶

如果要排除普通使用者在多次登入失敗後被鎖定,請將使用者新增至使用者群組(例如no_faillock_group),
在/etc/security/faillock.conf 新增以下設定。
---
admin_group=no_faillock_group
---

持續帳戶鎖定

pam_faillock 使用的預設目錄通常會在系統啟動時清除,因此系統重新啟動後也將重新啟用存取。
如果希望持續帳戶鎖定,請在/etc/security/faillock.conf 增加dir=選項。
---
dir=/var/log/faillock
---
請確認目錄已創建,系統重新啟動後帳戶將保持鎖定狀態。
mkdir /var/log/faillock -p

如果指定/var/log/faillock目錄但無效,請確認系統是否啟用SELinux。
SELinux 執行有針對性的策略,將要求任何非預設計數目錄的安全性權限與預設目錄的安全性權限相符。如果不更新安全性權限,pam_faillock 模組無法將失敗的登入紀錄嘗試寫入非預設計數目錄。

使用以下指令檢查非預設計數目錄的安全性權限
# ls -Zd /var/log/faillock
unconfined_u:object_r:var_log_t:s0 /var/log/faillock

如果非預設計數目錄的安全性權限不是faillog_t,
使用以下指令更新安全性權限為faillog_t
# semanage fcontext -a -t faillog_t "/var/log/faillock(/.*)?"

使用以下指令更新非預設故障鎖定目錄/子目錄和檔案正確權限。
# restorecon -R -v /var/log/faillock

參考資料
How to use pam_faillock in Red Hat Enterprise Linux 6 & 7 to lockout users due to successive failed login attempts
What is pam_faillock and how to use it in Red Hat Enterprise Linux 8 & 9?