
에서 더 이상 웹서버에 연결할 수 없다는 것을 깨달았습니다 x.x.202.50
. 어제 /share/homes/admin/.ssh/config
다음 설정을 추가하여 다음 SSH 구성 파일을 변경했습니다 .
# ssh (secure shell) configuration file
Host webserver
HostName x.x.212.50
User user1
IdentityFile ~/.ssh/id_rsa `
내가 이렇게 한 이유는 동기화 목적으로 키 로그인을 활성화하기 위해서입니다 Unison
.
이제 서버에 연결하려고 하면 다음 오류가 발생합니다.
/share/homes/admin/.ssh/config에 대한 잘못된 소유자 또는 권한
Putty
Windows 10 및 Linux 서버에서 다른 Linux 서버로 연결합니다 .
프로젝트에 참여하고 있어서 서버에 연결해야 하는데 어떻게 해야할지 모르겠습니다. 이 작업을 수행하는 방법을 아는 사람이 있나요?
답변1
.ssh 디렉토리의 권한을 변경해야 합니다. 다음을 실행하세요. (600에서는 자체적으로 문제를 해결할 수 없다는 것을 알았습니다.)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
답변2
보안에 영향을 미칠 수 있는 파일(개인 키, 구성 파일, 승인된 키)에 대한 일반적인 규칙은 소유자 이외의 다른 사람이 쓸 수 없어야 한다는 것입니다(개인 키는 액세스할 수 없어야 합니다!).
오류는 다음에서 발생합니다.openssh 코드아래에:
if (((sb.st_uid != 0 && sb.st_uid != getuid()) ||
(sb.st_mode & 022) != 0))
fatal("Bad owner or permissions on %s", filename);
따라서 영어로 번역하면 구성 파일은 루트 또는 실행 중인 사용자가 소유해야 하며 ssh
어떤 그룹이나 다른 사용자도 쓸 수 없다는 의미입니다.
의견에서 이미 지적했듯이 이 권한을 누군가에게 부여했을 수 있으므로 이러한 권한을 제거하면 문제가 해결됩니다.
chmod go-w /share/homes/admin/.ssh/config
답변3
루트 계정과 동일한 '.ssh' 디렉터리를 공유하는 단일 사용자 Linux 시스템이 있습니다. /root/.ssh는 사용자의 '/home/username/.ssh' 폴더를 가리키는 심볼릭 링크입니다.
최근에 ~/.ssh/config 파일을 추가했는데 이로 인해 루트 계정에서 SSH 및 SSHFS를 호출할 때 SSH에서 오류 메시지가 표시되었습니다. 나를 위한 해결책은 다음을 수행하는 것이었습니다.
chown root:$USER ~/.ssh/config
chmod 644 ~/.ssh/config
하지만 파일을 편집해야 할 때 파일의 권한과 소유권을 엉망으로 만든 다음 다시 뒤집어야 하기 때문에 이것은 약간의 문제입니다. 하지만 계정 간에 폴더를 공유하기로 선택했기 때문에 그것은 내 자신의 문제입니다. 루트 사용자 계정을 사용하여 'sshfs' 또는 'ssh' 명령을 호출할 때만 권한을 전환하기 위해 몇 가지 쉘 스크립트를 만들었습니다.
답변4
다른 답변은 잘못된 권한이 있는 경우에만 문제를 해결합니다. 그러나 제 경우에는 잘못된 파일 소유자가 문제였습니다. 실행하여 ls -l ~/.ssh
권한 및 소유자에 대한 정보를 볼 수 있습니다. 파일 소유자는 세 번째 열에서 볼 수 있습니다. 잘못된 경우 다음을 실행합니다.
chown <newOwner> <fileName>