PowerShell 모듈로 SSH 구성 항목 관리
매우 간단하지만 깔끔한 구성 파일을 관리할 수 있도록 지원합니다.
!!!DISCLAIMER!!! no warranty - please test the behavior of this script for thoroughly your environment and make regular backups
모듈 사용 방법
모듈을 가져온 후
Import-Module .\ManageSshConfig.psm1
그것은 허용
a - 구성된 호스트 목록을 HashTable로 읽기
$hostList = Get-ConfigHostList
b - 이 호스트 목록에 새 항목 추가
$hostList = Add-ConfigHostInList -HostList $hostList -HostName "dummy" -HostValues @{
identityfile = "~/.ssh/myprivatekey"
hostname = "dummy.somecloud.com"
user = "johndoe"
}
c - 이 호스트 목록의 기존 항목을 업데이트합니다.
$hostList = Update-ConfigHostInList -HostList $hostList -HostName "dummy" -HostValues @{
identityfile = "~/.ssh/myprivatekey"
hostname = "dummy.somecloud.com"
user = "johndoe"
}
d - 이 호스트 목록에서 기존 항목을 제거합니다.
$hostList = Remove-ConfigHostFromList -HostList $hostList -HostName "dummy"
e - 그런 다음 이 목록을 다시 디스크에 씁니다.
Set-ConfigHostList $hostList
특징
줄바꿈
스크립트는
config
파일에 사용된 줄 바꿈을 식별할 수 있어야 합니다. 이것은 Windows에서 CR/LF가 될 수 있으며 Linux, macOS 등에서는 분명히 LF입니다.이것이 생소하게 들리면 Scott Hanselman's nice explanation on this topic을 확인하십시오.
on my Windows machine I forced Visual Studio Code to always safe it with LF line endings - just to be safe when copying this file back and forth between various OS platforms
키워드
IdentityFile
또는 HostName
와 같은 키워드는 다음과 같은 경우 조화됩니다.config
파일에서 HashTable로 읽기일반적으로 문서like에서 볼 수 있는 표기법에 따름 .
JSON
호스트 목록이 로드되면 JSON으로 변환할 수도 있습니다.
$hostList = Get-ConfigHostList
$hostList | ConvertTo-Json
{
"dummy": {
"User": "johndoe",
"HostName": "dummy.somecloud.com",
"IdentityFile": "~/.ssh/myprivatekey"
}
}
이를 통해 SSH 구성을 JSON 파일로 내보내고 해당 형식으로 관리한 다음 다시 가져올 수도 있습니다.
$hostList = Get-ConfigHostList
$hostList | ConvertTo-Json -AsHashtable | Set-Content "ssh-config.json"
... do your magic here ...
$hostList = Get-Content "ssh-config.json" | ConvertFrom-Json -AsHashtable
Set-ConfigHostList $hostList
Reference
이 문제에 관하여(PowerShell 모듈로 SSH 구성 항목 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kaiwalter/manage-ssh-config-entries-with-a-powershell-module-77b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)