From 22b8b0471939c03681e84c9ff51827bc7ccb17d5 Mon Sep 17 00:00:00 2001 From: jay817 Date: Wed, 21 Aug 2024 01:42:59 -0400 Subject: [PATCH] add ssh config --- ip-renew/README.md | 68 ++++++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/ip-renew/README.md b/ip-renew/README.md index 27b4799..59c4379 100644 --- a/ip-renew/README.md +++ b/ip-renew/README.md @@ -3,44 +3,52 @@ - 아래의 방법으로 원하는 LAN카드의 MAC주소를 변경할 수 있다. - MAC주소가 변경되면 ISP 모뎀에서 새로운 기기로 인식하고 새로운 IP를 할당한다. -```powershell -# 현재 네트워크 어댑터 목록 확인 -Get-NetAdapter +- Powershell: + ```powershell + # 현재 네트워크 어댑터 목록 확인 + Get-NetAdapter -# MAC 주소 변경 (어댑터 이름과 원하는 MAC 주소 지정) -Set-NetAdapter -Name "이더넷" -MacAddress "00-11-22-33-44-55" + # MAC 주소 변경 (어댑터 이름과 원하는 MAC 주소 지정) + Set-NetAdapter -Name "이더넷" -MacAddress "00-11-22-33-44-55" -# 랜덤 MAC 주소 생성 및 설정 -$randomMac = (0..5 | ForEach-Object { "{0:X2}" -f (Get-Random -Minimum 0 -Maximum 255) }) -join '-' -Set-NetAdapter -Name "이더넷" -MacAddress $randomMac -``` + # 랜덤 MAC 주소 생성 및 설정 + $randomMac = (0..5 | ForEach-Object { "{0:X2}" -f (Get-Random -Minimum 0 -Maximum 255) }) -join '-' + Set-NetAdapter -Name "이더넷" -MacAddress $randomMac + ``` -## WSL2에서 Windows SSH 접속하기 +## ~~WSL2에서 Windows SSH 접속하기~~ WSL2의 명령어로 IP를 변경하기 위해 WSL2 -> Windows SSH 연결을 수립한다. -Powershell (관리자로 실행) -```powershell -Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 -Start-Service sshd -Set-Service -Name sshd -StartupType 'Automatic' -if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) { - Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..." - New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -} else { - Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists." -} -``` +- Powershell (관리자로 실행): + ```powershell + Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 + Start-Service sshd + Set-Service -Name sshd -StartupType 'Automatic' + if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) { + Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..." + New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 + } else { + Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists." + } + + (Get-Content -Path "C:\ProgramData\ssh\sshd_config") | + ForEach-Object {$_ -replace "^#PubkeyAuthentication yes", "PubkeyAuthentication yes"} | + Set-Content -Path "C:\ProgramData\ssh\sshd_config" + ``` + Restart-Service sshd Debian에서 바라보는 Windows의 IP는 다음과 같이 얻을 수 있다. -```sh -ip route | grep default | awk '{print $3}' -# 172.17.112.1 -``` +- Debian bash: + ```sh + ip route | grep default | awk '{print $3}' + # 172.17.112.1 + ``` ssh 계정에 접속받기 위해서는 그 윈도우 계정에 암호가 설정되어 있어야 한다. -Debian bash -```sh -ssh w@$(ip route | grep default | awk '{print $3}') -``` \ No newline at end of file +- Debian bash: + ```sh + cat ~/.ssh/id_rsa.pub >> /mnt/c/Users//.ssh/authorized_keys + ssh w@$(ip route | grep default | awk '{print $3}') + ``` \ No newline at end of file