Ubuntu
使用 cloud init config 更改 /etc/ssh/sshd_config 中的預設值
我的 Ubuntu18 虛擬機在部署時在 /etc/ssh/sshd_config 中提供了以下預設配置,這使我進入它們的 ssh 會話在 5 分鐘不活動時終止:
ClientAliveInterval 300 ClientAliveCountMax 0
我應該將哪個配置添加到我的 cloud_init.cfg 中以使它們都以更高的值部署?安全不是問題。
更新:將此添加到 cloud_init.cfg 似乎可以解決 Ubuntu16 和 Ubuntu18 的問題,因為我的空閒 ssh 會話持續 >5 分鐘:
write_files: - path: /etc/ssh/sshd_config content: | ClientAliveInterval 30000 ClientAliveCountMax 50
但是,/etc/ssh/sshd_config 文件中通常存在的所有其他參數都將失去。是否有這個 sshd 配置文件的等價物偶然駐留在其他地方,如果有的話,完整路徑和文件名是什麼,我如何只編輯其中的這 2 個值,而其他所有內容都完好無損?
提前謝謝了!
顯然,將這個添加到 /etc/ssh/sshd_config 可以解決問題(經過測試,有效):
runcmd: - sed -i 's/ClientAliveInterval 300/ClientAliveInterval 30000/' /etc/ssh/sshd_config - sed -i 's/ClientAliveCountMax 0/ClientAliveCountMax 50/' /etc/ssh/sshd_config - service ssh restart
您需要包含一行來告訴 cloud-init 附加到 sshd_config 而不是替換整個文件,即 append: true。因此,您的
cloud_init.cfg
文件將如下所示:--- write_files: - path: /etc/ssh/sshd_config content: | ClientAliveInterval 30000 ClientAliveCountMax 50 append: true