Титла: Ssh key authentication
Публикувано от: lawlessbg в Sep 18, 2008, 19:49
Здравейте, Как мога да настроя, ssh да не допуска връзки от компютри, които нямат ключ, а ключа да нося в себе си например на флашка? И как да го генерирам. Ако има някакъв tutorial на български, ще съм благодарен за линкче, защото аз не успях да намеря отговори на тези въпроси горе. Благодаря.
Титла: Ssh key authentication
Публикувано от: zeridon в Sep 18, 2008, 22:47
накратко ... 1) ssh-keygen -b 2048 -t rsa - това ще ти генерира публичен и частен ключ 2) на целевата машина touch ~/.ssh/authorized_keys 3) на целевата машина cat <името на ключа>.pub >> ~/.ssh/authorized_keys 4) vi /etc/ssh/ssd_config RSAAuthentication yes PubkeyAuthentication yes # Change to no to disable tunnelled clear text passwords PasswordAuthentication no 5) ssh -i <ime na klu4> user@mashina ...
Титла: Ssh key authentication
Публикувано от: lawlessbg в Sep 18, 2008, 23:34
Дава ми: $ssh -i ~/.ssh/id_rsa user@machine Permission denied (publickey).
Титла: Ssh key authentication
Публикувано от: senser в Sep 19, 2008, 00:00
това, което е дал зеридон е повече от достатъчно според мен, а и е на БГ но ето ти един линк на ЕНГ - дори и само командите да видиш може да се ориентираш, вкл. и за правата над файловете
Титла: Ssh key authentication
Публикувано от: lawlessbg в Sep 22, 2008, 00:06
Благодаря.Бях забравил на Gentoo HOWTO-тата колко са добри.
Титла: Ssh key authentication
Публикувано от: lawlessbg в Oct 02, 2008, 18:28
Нещо не мога да се оправя. Дава ми: Примерен код | Permission denied (publickey). |
Ето ми ги настройките:
Примерен код | # Package generated configuration file # See the sshd(8) manpage for details
# What ports, IPs and protocols we listen for Port 22 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key #Privilege Separation is turned on for security UsePrivilegeSeparation yes
# Lifetime and size of ephemeral version 1 server key KeyRegenerationInterval 3600 ServerKeyBits 768
# Logging SyslogFacility AUTH LogLevel INFO
# Authentication: LoginGraceTime 120 PermitRootLogin yes StrictModes yes
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
# Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts RhostsRSAAuthentication no # similar for protocol version 2 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication #IgnoreUserKnownHosts yes
# To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no
# Change to no to disable tunnelled clear text passwords PasswordAuthentication no
# Kerberos options #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes
# GSSAPI options #GSSAPIAuthentication no #GSSAPICleanupCredentials yes
X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes #UseLogin no
#MaxStartups 10:30:60 #Banner /etc/issue.net
# Allow client to pass locale environment variables AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
|
Титла: Ssh key authentication
Публикувано от: senser в Oct 02, 2008, 20:34
вдигни LogLevel-a на DEBUG и дай изхода от лога на сървъра при опита за логин
Титла: Ssh key authentication
Публикувано от: tarator в Oct 03, 2008, 00:17
Permission-ите на ~/.ssh/authorized_keys трябва да бъдат 0600 (т.е. никой освен потребителя да не може да чете или пише), иначе ssh ще откаже да се връзва с ключове.
chmod 0600 ~/.ssh/authorized_keys
П.П. ~/.ssh май трябва да бъде 0700.
Титла: Ssh key authentication
Публикувано от: lawlessbg в Oct 03, 2008, 19:50
Примерен код | $ ssh -i .ssh/id_rsa [EMAIL=lawlessbg@192.168.1.100]lawlessbg@192.168.1.100[/EMAIL] Warning: Identity file .ssh/id_rsa not accessible: Permission denied. The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established. RSA key fingerprint is 8f:de:14:21:f5:a6:4f:dd:1a:36:45:44:d5:4f:6c:3e. Are you sure you want to continue connecting (yes/no)? y Please type 'yes' or 'no': yes Failed to add the host to the list of known hosts (/home/lawlessbg/.ssh/known_hosts). Permission denied (publickey).
|
Това стана с права 0600. Иначе кой е лог фаила?
Титла: Ssh key authentication
Публикувано от: romeo_ninov в Oct 03, 2008, 21:05
А ти собственик ли си на директорията .ssh и файловете в нея?
Титла: Ssh key authentication
Публикувано от: nedpetko в Oct 04, 2008, 09:18
Промени в sshd_config тази настройка и пробвай Примерен код | ChallengeResponseAuthentication yes |
Намерих решението тук
Титла: Ssh key authentication
Публикувано от: sdr в Oct 04, 2008, 12:08
Примерен код | sdr@sdrlt ~ $ ll -d .ssh drwx------ 2 sdr nashte 136 13 ное 2006 .ssh sdr@sdrlt ~ $ ll .ssh общо 12K -rw------- 1 sdr nashte 1,7K 13 ное 2006 id_rsa -rw------- 1 sdr nashte 390 13 ное 2006 id_rsa.pub -rw------- 1 sdr nashte 3,8K 15 фев 2008 known_hosts sdr@sdrlt ~ $ cat .ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1y............... sdr@sdrlt ~ $ ssh sdr@gsmr Last login: Sat Oct 4 00:16:55 2008 from ........... [sdr@mysql:~]$ ll -d .ssh drwx------ 2 sdr nashte 4096 Sep 6 19:03 .ssh [sdr@mysql:~]$ ll .ssh total 12 -rw-r--r-- 1 sdr nashte 785 Sep 6 19:03 authorized_keys -rw-r--r-- 1 sdr nashte 6225 Sep 4 20:46 known_hosts [sdr@mysql:~]$ cat .ssh/authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvP.................. |
Титла: Ssh key authentication
Публикувано от: lawlessbg в Oct 04, 2008, 21:24
С това: Примерен код | ChallengeResponseAuthentication yes |
ми влиза с обикновена парола, паролата на моя юзър. А иначе пак същия проблем ми дава:
Примерен код | Permission denied (publickey). |
Не знам как се казва лог файла. Той трябва да е в /var/log/ , нали? Предполагам, че ако го прочета ще знам поне каде е проблема.
Титла: Ssh key authentication
Публикувано от: lawlessbg в Oct 04, 2008, 22:08
Ето какво ми пише в auth.log: Примерен код | Oct 4 22:03:12 localhost sshd[2655]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8 Oct 4 22:03:12 localhost sshd[2433]: debug1: Forked child 2655. Oct 4 22:03:12 localhost sshd[2655]: debug1: inetd sockets after dupping: 3, 3 Oct 4 22:03:12 localhost sshd[2655]: Connection from 127.0.0.1 port 39216 Oct 4 22:03:12 localhost sshd[2655]: debug1: Client protocol version 2.0; client software version OpenSSH_5.1p1 Debian-2 Oct 4 22:03:12 localhost sshd[2655]: debug1: match: OpenSSH_5.1p1 Debian-2 pat OpenSSH* Oct 4 22:03:12 localhost sshd[2655]: debug1: Enabling compatibility mode for protocol 2.0 Oct 4 22:03:12 localhost sshd[2655]: debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-2 Oct 4 22:03:15 localhost sshd[2655]: debug1: PAM: initializing for "lawlessbg" Oct 4 22:03:15 localhost sshd[2655]: debug1: PAM: setting PAM_RHOST to "localhost" Oct 4 22:03:15 localhost sshd[2655]: debug1: PAM: setting PAM_TTY to "ssh" Oct 4 22:03:15 localhost sshd[2655]: debug1: do_cleanup Oct 4 22:03:15 localhost sshd[2655]: debug1: PAM: cleanup
|
Титла: Ssh key authentication
Публикувано от: Hapkoc в Oct 04, 2008, 22:10
На RedHat (и подобни) е /var/log/secure. На Debian (и подобни) мисля, че е /var/log/auth.log.
За най-сигурно си провери /etc/syslog.conf.
Титла: Ssh key authentication
Публикувано от: nedpetko в Oct 04, 2008, 22:30
В Дебиан е /var/log/auth.log А спрял ли си идентификацията с парола? Това което ти си го написал го пробвах снощи и ми даваше същите грешки а днес сутринта това което ти написах тръгна. Също така това което ти написа tarator е вярно - не се приемат ключове с права различни от 600. Обаче сега заспивам пред компа и повече не ми се занимава. До утре!
Титла: Ssh key authentication
Публикувано от: nedpetko в Oct 16, 2008, 22:35
С риск да стана досаден, но поради факта, че явно имаше недоразбрали какво е написал zeridon - един от които бях аз, бихте ли ми позволили следната редакция? Благодаря предварително! Цитат (zeridon @ Сеп. 18 2008,23:47) | накратко ... 1) ssh-keygen -b 2048 -t rsa # - това ще ти генерира публичен 'id_rsa.pub' и частен ключ 'id_rsa' върху работната машина 2) scp id_rsa.pub user@celeva.machina:/home/user/ 2.1) touch ~/.ssh/authorized_keys # на целевата машина 3) cat id_rsa.pub >> ~/.ssh/authorized_keys # на целевата машина - тук се използва името на публичния ключ 3.2) chmod 600 ~/.ssh/authorized_keys 4) vi /etc/ssh/sshd_config
Примерен код | RSAAuthentication yes PubkeyAuthentication yes # Change to no to disable tunnelled clear text passwords PasswordAuthentication no |
4)/etc/init.d/ssh restart 5) ssh -i id_rsa user@celeva.mashina # тук се използва частния ключ |
След известен период на леко зачитане и тестване по метода - проба грешка разбрах, че бъркам някъде генерално. Целева машина - това е т.нар. отдалечен компютър. Работна машина е тази на която седим. Ако съм сгрешил някъде моля поравете ме.
P.S. Няма нужда да се използва цитирана от мен опция:Примерен код | ChallengeResponseAuthentication yes |
|