Vagrant - CoreOS에 vagrant ssh 접속 시 인증 실패

DevOps|2017. 8. 13. 11:06

Vagrant에 CoreOS를 설치하고 ssh 접속을 시도 했을 때 인증이 안되는 경우가 있습니다.

    $ vagrant ssh
    Password:
    Password:
    Password:
    vagrant@127.0.0.1's password:
    vagrant@127.0.0.1's password:
    Authentication failed.

저의 경우는 alpha 채널에서 1492.1.0 버전을 받아서 설치했었습니다.

CoreOS는 기본 계정이 vagrant가 아니라 core 더군요. 그리고 key 방식 인증만 지원하고 passowrd 방식은 지원 안합니다. 이런 경우 Vagrant의 insecure key를 이용하면 됩니다.

    $ ssh core@localhost -p 2222 -i $VAGRANT_HOME/insecure_private_key

$VAGRANT_HOME 은 윈도(windows)의 경우 C:\Users\[사용자ID]\.vagrant.d 폴더입니다. 명령 프롬프트에서 cd %USERPROFILE%\.vagrant.d 명령으로 이동할 수 있습니다.

혹은 Vagrantfile에서 아래와 같이 ssh username을 core로 변경한 후 VM을 reload 하면 vagrant ssh 명령으로 접속이 가능합니다.

    config.ssh.username = "core"



EOF

댓글()

IntelliJ IDEA에서 GitLab 저장소 접근 오류가 발생하는 경우의 조치 방법(Could not read from remote repository)

Developer Tools|2017. 6. 27. 19:03

오늘(2016-06-03) GitLab 저장소에 pull을 실행했더니 오류가 발생한다.

10:24:31.442: [my-repo] git -c core.quotepath=false pull --progress --no-stat -v --progress origin develop
java.io.IOException: Illegal char in base64 code.
    at com.trilead.ssh2.crypto.Base64.decode(Base64.java:107)
    at com.trilead.ssh2.KnownHosts.initialize(KnownHosts.java:412)
    at com.trilead.ssh2.KnownHosts.initialize(KnownHosts.java:440)
    at com.trilead.ssh2.KnownHosts.addHostkeys(KnownHosts.java:137)
    at org.jetbrains.git4idea.ssh.SSHMain.configureKnownHosts(SSHMain.java:462)
    at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:155)
    at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:137)
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Git Bash에서 fetch 명령을 실행하니 아래와 같이 ECDSA key를 ~/known_hosts에 추가 할거냐고 묻는다.

$ git -c core.quotepath=false fetch origin --progress --prune
The authenticity of host 'gitlab.com (104.210.2.228)' can't be established.
ECDSA key fingerprint is SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitlab.com,104.210.2.228' (ECDSA) to the list of known hosts.
From gitlab.com:my-account/my-repo

추가하면 Git Bash에서는 문제가 해결되지만 IDEA에서는 여전히 오류가 발생한다.

~/known_hosts 파일을 열어서 예전 gitlab.com 정보(gitlab.com,62.204.93.103 ...)를 삭제하면 문제가 해결된다.


EOF

댓글()

CentOS 공개키 인증으로 암호 없이 로그인

설치&설정|2014. 10. 18. 21:31

Client(PC)에서 키 생성

아래와 같이 ssh-keygen 명령을 이용해서 키를 생성하면, [home directory]/.ssh 디렉토리에 id_rsa.pub 파일이 생성된 것을 확인할 수 있습니다.

$ ssh-keygen -t rsa -C 'your@email.addr'
Generating public/private rsa key pair.
Enter file in which to save the key (/home/deployer/.ssh/id_rsa):
Created directory '/home/deployer/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/deployer/.ssh/id_rsa.
Your public key has been saved in /home/deployer/.ssh/id_rsa.pub.
The key fingerprint is:
df:07:63:c5:46:ff:9b:ac:03:b6:ed:70:b7:77:f2:1e your@email.addr
The key's randomart image is:
+--[ RSA 2048]----+
|              .  |
|             o . |
|              + .|
|             o  .|
|        S   +   .|
|         . = o. o|
|          o.=..E |
|           .o++ =|
|            .o.==|
+-----------------+

Server에서 키 등록

서버에서는 로그인 하려는 사용자의 홈디렉토리에 .ssh 디렉토리와 .ssh/authorized_key 파일을 생성하고, 파일 내용으로 id_rsa.pub 키를 넣어 줍니다.

$ cd ~
$ mkdir -m 700 .ssh
$ cd .ssh

### Client에서 생성한 id_rsa.pub 키 값을 내용으로       ###
### authorized_keys 파일을 ~/.ssh 디렉토리에 생성합니다 ###
$ echo 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvrdrApARFpicubfKHMVmNpEB6P3KsoVuXQOPPTPTOTveWsrYiPYesFSn6c9xaS3ZN8041A0/pIZU2clc94Rt+hPoU0Lgpv2nZ8WJoVPXNbHWRehF8VtrpOp4emnyi52wRtzGF7pBaazwRhNVFI1HF89IwEKX8LNXAsbOmpTR9HGZ5Y+qt2dZzRdX4s7G3ReqFa6t8lkErVolr9Z8HxyAZ9ubOQ58tK4uTnFdSAa1bRWeEKO/E+GfPnuMfFu2kT//9BrDDc2iy/eTtXL/3bJ4CNJ0ydDutGNP/H+D2IPgXx2ueawXVACSEQ4gczBTTTy/XJjHsaLiX23Z3eb+4BFvhQ== your@email.addr' >> authorized_keys

### authorized_keys 파일에 권한 설정                   ###
$ chmod 600 authorized_keys

Server에서 키 기반 인증 허용

/etc/ssh/sshd_config 파일의 내용을 확인한 후, 키 기반 인증이 허용이 안되어 있으면 수정한다.

아래와 같이 키 기반 인증에 관한 항목에 주석 처리가 되어 있으면 주석을 해제한다.

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile      .ssh/authorized_keys

sshd_config 파일을 수정했으면 sshd를 재시작한다.

$ service sshd restart

댓글()