Como configuro o acesso SSH integrado no centOS 5.7?

1

Bem, eu não tive que fazer isso antes até agora, mas eu criei uma conta em um servidor remoto puramente para acesso compartilhado ao reit git e agora preciso configurar logins contínuos via ssh em cada máquina dev. Eu li vários artigos sobre isso, no entanto eu não tenho uma pasta .ssh na conta do usuário criado, portanto, não pode instalar a chave do cliente no arquivo authorized_keys. Acabei de criar esses arquivos e pastas para poder instalar a chave porque não acho que seja assim tão simples. Estou seguindo este link para o tutorial e abaixo está o arquivo sshd_config como está no momento. (atualmente logins autenticados por senha). Obrigado por todos os ponteiros.

    # This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.

#Port 22
#Protocol 2,1
Protocol 2
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 768

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6

RSAAuthentication yes
#PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication yes

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
GSSAPICleanupCredentials yes

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication mechanism.
# Depending on your PAM configuration, this may bypass the setting of
# PasswordAuthentication, PermitEmptyPasswords, and
# "PermitRootLogin without-password". If you just want the PAM account and
# session checks to run without PAM authentication, then enable this but set
# ChallengeResponseAuthentication=no
#UsePAM no
UsePAM yes

# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#ShowPatchLevel no
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10
#PermitTunnel no
#ChrootDirectory none

# no default banner path
#Banner /some/path

# override default of no subsystems
Subsystem       sftp    /usr/libexec/openssh/sftp-server
    
por Dark Star1 05.02.2012 / 12:25

2 respostas

2

maneira muito mais fácil

em sua caixa de fontes, certifique-se de ter uma chave gerada, se não, execute ssh-keygen para gerar uma (ex: ssh-keygen -b 1024 -t rsa -q)

então execute ssh-copy-id -i .ssh / id_rsa.pub usuário @ host

isso fará todo o absurdo authorized_keys para você. Em distribuições mais antigas, no entanto, o comando ssh-copy-id não existe e você tem que fazer o outro método que foi sugerido anteriormente.

    
por 05.02.2012 / 17:17
2

Sim, (quase) é simples assim. Como conta no servidor ssh, execute:

mkdir ~/.ssh
cat id_dsa.pub >> ~/.ssh/authorized_keys

Onde id_dsa.pub é uma chave pública de uma das máquinas clientes.

Por segurança, você pode querer fazer algo parecido com chmod 700 ~/.ssh , mas deve ser OK para o uso de authorized_keys. Certifique-se de que sua chave privada (e seu diretório .ssh) tenha permissões restritivas.

Se você tiver problemas, execute ssh com a opção -v no cliente para obter as informações de depuração e, em seguida, consulte o log ssh do servidor (talvez /var/log/auth.log ou / var / log / secure ou algo parecido, dependendo da distro).

    
por 05.02.2012 / 14:48

Tags