출처 : http://visu4l.tistory.com/343

 

가끔 가다가 잘 접속되던 서버가 아래와 같은 메세지를 띄우는 경우가 있다.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
-생략-
Please contact your system administrator.
Add correct host key in /home/warren/.ssh/known_hosts to get rid of this message.
Offending key in /home/warren/.ssh/known_hosts:1
RSA host key for -생략(ip)- has changed and you have requested strict checking.
Host key verification failed.

참... 당황 스럽다...
욱긴건 다른 컴퓨터에서는 될때다...이러면 더 아리까리 해진다.

일단 해결법은 이렇다.

ssh-keygen -R [ IP or DomainName]


ex) ssh-keygen -R 110.110.110.110


그후에 다시 접속하면 이번엔 메시지가 바뀐다.
Are you sure you want to continue connecting (yes/no)?
대략 이런 메시지를 띄운다. 그럼 그냥 yes 하면 끝이다.


위에 상황을 예를 들면...
A host 가 있고 B server가 있다.
A는 항상 B 서버에 ssh접속하고 있었는데 B서버에 ssh나 os를 새로 설치 하는 작업을 했다.
그런후에 A는 똑같이 B에 접속을 한다. 이때 B에 IP는 똑같다면...
위와 같은 메시지가 뜬다!!

이렇게 되는 이유는 단순하다.
ssh 최초접속시에 A와 B에서 서로간에 인증 과정을 하는데.. B는 새로 설치되었으니 B는 상관없지만..
A는 예전B에 IP로 인증이 되어있는 상태에서 B로 로그인을 하면
로그인시에 예전에 IP로 인증했던 정보를 가지고 B로 로그인을 하려고 하지만 B는 인증정보가 없기때문에
위와 같은 현상이 나타난다.


만약 위에 명령어가 먹히지 않는다... 아직도 똑같다...
그러면 find / -name known_hosts 을 통해 해당파일을 찾아 지우면 된다.
보통 /root/.ssh/known_hosts 에 있다.
나니면 /home/username/.ssh/known_hosts

자신의 root면 root에 있는 것을 지워야 되고 일반 유저 이면 /home/username에 있는 걸 지워야겠죠?


malloc와 calloc의 함수 원형은 다음과 같다.


void *malloc(size_t size);
void *calloc(size_t num, size_t size);


malloc는 할당할 메모리 크기를 바이트 단위로 전달받고, 할당된 공간의 값들은 바꾸지 않는다.
calloc는 메모리 크기를 두 값으로 나누어 전달받으며, 할당된 공간의 값을 모두 0으로 바꾼다.
그래서 배열을 할당하고 모두 0으로 초기화해야 할 때는 calloc를 쓰면 편하다.

아래 세 문장은 int형 변수를 배열처럼 5개씩 할당하는 예이다.

n = (int *)malloc( 5*sizeof(int) );
n = (int *)calloc( 5, sizeof(int) );
n = (int *)calloc( 1, 5*sizeof(int) );

여기서 'sizeof(int)'는 int형 변수가 차지하는 메모리 크기를 바이트 단위를 반환해 준다.
메모리 공간을 할당하는 점은 세 문장이 모두 같고, calloc가 할당된 공간의 값들을 0으로 채운다는 점이 다르다.
둘째, 셋째 문장은 수행 결과가 똑같다.



이미 할당한 공간의 크기를 바꿀 때에는 realloc를 쓴다.

void *realloc(void *memblock, size_t size);


realloc는 재할당한 뒤에 새로 할당된 메모리 주소를 반환한다.
기존에 있던 배열의 자료는 그대로 유지하면서 배열 길이를 늘릴 수 있다.

다음은 malloc로 배열크기를 5으로 할당하여 숫자를 채우고, realloc로 배열 크기를 10로 늘려서 숫자를 추가하는 예제이다.

#include <stdio.h>
#include <stdlib.h>

void main()
{
int *ar, size, i;

size = 5;
ar = (int *)malloc(size*sizeof(int)); // 메모리 할당
for(i=0; i<size; ++i) ar[i]=i;
for(i=0; i<size; ++i) printf("%d",ar[i]);
printf("\n");

size = 10;
ar = (int *)realloc(ar, size*sizeof(int));
for(i=5; i<size; ++i) ar[i]=i;
for(i=0; i<size; ++i) printf("%d",i);
printf("\n");

free(ar); // 할당한 메모리 해제
}



이 예제를 실행시키면 이렇게 출력된다.

01234
0123456789

vim

http://sunyzero.tistory.com/131



원본 이미지 출처 : http://blog.insightbook.co.kr/217 
원본 이미지 크기 : 3472x2546 , 2710x1751

"손에 잡히는 vim" 책 맨 뒤에 있는 단축키 모음입니다.(인터넷에 돌아다니는 이미지를 인사이트에서 예쁘게 재편집한 것입니다.) 인사이트 출판사에서 제작한 원본 이미지의 바탕이 아름다운 블랙 바탕이라 출력, 복사할 때 토너 범벅이 됩니다. 그래서 옅은 회색, 흰색으로 변경한 이미지를 올려둡니다.

1. 명령어 단축키

vim 단축키vim 단축키


2013.1.7 숫자 0과 닫힌 소괄호의 오류 수정함 (zelon님)


 
2. 이동 단축키

vim 이동 단축키vim 이동 단축키



바탕 화면으로 저장해두면 딱 좋을 듯 합니다.

ps. 간만에 gimp에서 작업하려니 색상을 찝어서 교체하는 방법을 까먹어서 한참을 헤매다가 겨우 완성. 무려 한 시간이상 걸렸습니다. ㅠ.ㅠ  

vi

set ts=8 sw=4 bs=2

set autoindent cindent smartindent

set number ruler nowrap

set hlsearch

set smarttab

set showmatch showmode

set title

set term=xterm-color

syntax on

colorscheme evening


map <F2> v]}zf

map <F3> zo

map <F5> <C-W>h

map <F6> <C-W>l


let &titlestring="%t (%{expand(\"%:~:h\")})"



음...

+ Recent posts