SSH 연결 중 Permissions for are too open. 문제가 발생했을 때 해결하는 방법에 대해 알아봅니다.

 

 

 

현상

 

 

KeyPair을 사용해 ssh 접속을 하는데 Permissions for are too open. 오류가 발생합니다.

 

 

 

수정

 

사용에 적절한 권한을 부여합니다. 전 Windows 환경이므로 Windows 기준으로 설명합니다.

키페어 파일을 우클릭 후 속성창을 열어 보안 탭으로 이동해 고급 버튼을 클릭합니다.

 

 

이후 위 사진과 같이 상속 사용 안함을 클릭해 "이 개체에서 상속된 사용 권한을 모두 제거합니다"를 선택합니다.

모든 상속받은 권한이 사라진것을 확인한 뒤 명시적으로 추가 버튼을 눌러 다음과 같이 사용할 유저를 직접 선택합니다.

 

 

여기서 중요한점은 "단일" 주체에 권한을 부여해야 한다는 겁니다. 만약 정확한 사용자명을 모르고 "그룹"에 권한을 부여해면 동일한 에러가 계속 발생할 수 있습니다.

 

만약 정확한 사용자명을 모른다면 다음과 같이 사용사를 검색해 봅시다.

 

 

이후 지금 찾이 버튼을 클릭해 정확한 유저 이름을 확인합니다.

 

 

유저를 찾았으면 다음과 같이 해당 보안 주체에게 부여할 권한을 선택합니다.

 

 

변경 내용을 확인하고 적용합니다.

 

 

이제 다시 SSH 접속 시도를 해봅니다.

 

 

정상적으로 접속이 되는 것을 확인할 수 있습니다.

 

 

 

 

 

반응형

 

윈도우 11 업그레이드 이후 Explorer에서 우클릭 시 "더 많은 옵션 표시"를 기본값으로 변경하는 방법에 대해 알아봅니다.

 

 

 

변경된 기본 컨텍스트 메뉴

 

 

윈도우 11로 업그레이드 되면서 많은 기본 UI들이 변경 되었습니다. 다양한 기능이 사용하기 편하게 변경 되었으나 파일 익스플로러의 컨텍스트 메뉴는 다양한 옵션을 사용하기 더 불편해 졌습니다.

 

 

 

항상 "더 많은 옵션 표시"로 변경하기

 

명령창에서 레지스트리를 건드려줘야 합니다. 먼저 명령창, 파워쉘 혹은 터미널을 열어줍니다.

 

 

이후 다음 명령어를 수행해 줍니다.

 

reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve

 

 

이제 변경내용을 바로 파일 익스플로러에 반영시켜주기 위해 파일 익스플로러를 재시작해 줘야 합니다. 작업관리자를 열어 다음 작업을 수행하거나 명령창에 다음 명령어를 수행합니다.

 

 

또는

 

 taskkill /f /im explorer.exe

 

 

이후 정상적으로 파일 익스플로러가 종료되었다면 다음과 같이 다시 시작시켜 줍니다.

 

 

또는

 

explorer

 

 

이후 익스플로러가 실행된 뒤 우클릭 하면 정상적으로 "더 많은 옵션 표시"가 기본값으로 적용된 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

출처: How-To: Disable new context menu, Explorer command bar

 

How-To: Disable new context menu, Explorer command bar

No 3rd-party apps or patches or whatever, just a simple registry value. Restart Explorer shell to take effect. **Disable new context menu:** ...

www.reddit.com

 

 

 

반응형

 

이전에 프로토타입으로 작성한 프로젝트를 모놀리스에서 MSA로 리팩터링 하려고 했습니다. 이를 위해 ORM을 비교하던 중 Dapper와 EF를 두고 고민했는데 고려한 내용을 정리해 둡니다.

 

 

 

주요 차이점.

 

가장 큰 비교 요인으로 꼽히는 것은 성능입니다. Dapper는 EF에 비해 많은 기능을 희생했지만 그만큼 더 빠르다고 알려져 있습니다. 반대로 EF는 성능을 희생시키고 Dapper에서 지원하지 않는 어려운 기능들을 수행해 냅니다.

 

EF를 채택하는 주요한 기능은 Linq입니다. Linq로 인해 런타임에 SQL로 변환됩니다. EF의 Linq 지원은 실제로 IMO 채택을 주도한 주요한 요인입니다.

 

Dapper는 간단하면서 강력합니다. 그야말로 Simple is fast를 추구하는 것 같았습니다. EF에 비하면 초라한 기능이지만 성능면에서는 뛰어납니다. 

 

반면에 EF는 Linq를 지원하고 변경 감지 기능이 있어 dbContext.SaveChanges()를 통해 모든 업데이트를 한 번에 처리할 수 있습니다. 상속도 내장되어 있고 분할 쿼리, 전역 쿼리 필터, 전체 트랜잭션 관리, 마이그레이션 등 수많은 기능을 포함하고 있습니다.

 

Dapper는 개발 시 개발자가 raw 쿼리를 직접 작성해야 합니다. 이는 단점으로 보일 수 있지만 장점으로 작용할 수 도 있습니다.

 

 

 

EF의 성능 개선.

 

MS에 따르면 EF 7에서 데이터베이스에 대한 왕복 횟수를 줄이고 보다 효율적인 SQL을 생성하도록 변경되어 SaveChanges와 SaveChangesAsync의 성능이 일부 시나리오에서 EF 6에 비해 4배 빨라졌다고 게시하였습니다.

 

EF 6.0의 글에선 EF 6의 성능은 업계 표준 TechEmpower Fortunes 벤치마크에서 5.0에 비해 70% 더 빠르다고 게시한 바 있으며 벤치마크 코드, dotNET 런타임 등의 개선을 포함하여 전체 성능이 개선되어 EF Core 6.0 자체는 쿼리 실행 속도가 31% 더 빨라졌다고 게시한 바 있습니다.

 

이렇듯 EF는 기존에 Dapper에 비해 성능이 좋지 않아 지속적으로 성능을 개선시켜 나아가고 있습니다. 추후에는 더 나은 성능 개선을 바랄 수 있을 것으로 생각됩니다.

 

 

 

Dapper의 추가 라이브러리.

 

Dapper는 성능을 위해 많은 기능을 희생했습니다. 하지만 그렇다고 희생한 기능을 사용하지 못하는 것은 아닙니다. Dapper는 새로운 기능을 제공하는 확장 라이브러리가 있습니다. 

 

이러한 라이브러리들은 Dapper에서 기본적으로 제공하지 않는 기능을 지원해 유용하게 사용할 수 있으나 다른 라이브러리를 사용하면 Dapper에서 제공한 성능 벤치마크의 결과가 바뀔 수 있음을 유념해야 합니다.

 

 

 

결론.

 

다양한 레퍼런스를 찾아본 결과 결국 EF 7을 사용하기로 결정했습니다.

 

공식적으로 MS에서는 EF를 지원하는 것도 한몫했습니다. EF는 앞으로도 dotNet 버전과 함께 개선될게 분명하며 시간이 지나 신규 버전이 나올수록 개선되는 성능과 최신 벤치마크 테스트 결과 눈에 띄게 차이 나지 않는 성능으로 인해 딱히 Dapper를 사용해야 할 필요성을 느끼지 못했습니다.

 

다만 수많은 기능과 빠르게 변하는 만큼 러닝커브는 감내해야 할 사항입니다.

 

 

 

 

 

참조:

Is Dapper better than Entity Framework?

Using Entity Framework Core and Dapper in ASP.NET Core – Safe Transactions

Microsoft Claims Entity Framework Core 7 Faster When Saving Changes

The Big Fight — Dapper vs Entity Framework 6 Detailed Benchmark

Announcing Entity Framework Core 6.0 Preview 4: Performance Edition

Entity Framework Core 7 (EF7) is available today

 

 

반응형

+ Recent posts