图片 3

linux下ssh使用rsa验证登陆MACOX,3台虚拟机的小型集群

By admin in 澳门新葡亰官网app on 2019年7月23日

一、windows下安装好secureCRT6.2

由于项目的需求,我这边ubuntu下常常需要SSH访问另外一台MACOS。

部署环境:

二、root用户登入linux服务器

每次输入密码有点烦,就想到RSA公钥和密钥验证的方法。

OS:Red Hat Enterprise
Linux Client release 5.5

增加用户:useradd -m username

像所有教程上讲的一样,本机执行

JDK:JDKk1.6.0_23

设置密码:passwd username

gong@hzsx:~$ ssh-keygen -t rsa

Hadoop:Hadoop-0.20.2

将username加入root,wheel组:gpasswd -a username root

将公钥拷贝到MACOS的/tmp下,并给其他人以读权限:

VMWare:8.0

                                                             gpasswd -a
username wheel

gong@hzsx:~$ scp .ssh/id_rsa.pub git@192.168.1.123:/tmp 

网络环境:

设置好secureCRT连接的hostname,username

git@192.168.1.123’s password: 

192.168.2.86  namenode   secondnamenode

三、密钥制作

id_rsa.pub                                    100%  390     0.4KB/s  
00:00

192.168.4.123 datanode

图片 1

于是登陆了MACOS,这里需要做一些准备工作。

192.168.4.124 datanode

图片 2图片 3

MACOS用户目录下没有.ssh目录。更不用说.ssh下authorized_keys文件了。

配置以及安装步骤:

记住不要upload

dev-mini:~ devone$ mkdir .ssh

  1. 网络环境配置

四、上传生成的 Identity.pub至服务器该用户名的home/username下

dev-mini:~ devone$ sudo chmod 740 /tmp/id_rsa.pub

(1) 关闭所有网络主机的防火墙,service iptables stop

公钥的上传及设置
a.上传公钥(默认的后缀名为.pub).一般是用ftp上传.注意上传之前,一定要以ASCII格式上传.
b.服务器端的设置.首先要在要登录的用户home目录下建一个.ssh目录.

dev-mini:~ devone$ sudo cat /tmp/id_rsa.pub >>
/home/devone/.ssh/authorized_keys

(2) /etc/hosts 文件内容追加

cp /home/houliangzhou/Identity.pub/home/houliangzhou/.ssh/

dev-mini:~ devone$ sudo chmod 740 /home/devone/.ssh/authorized_keys

192.168.2.86  master 
192.168.4.123  slave1 
192.168.4.124  slave2 

chmod 755 /home/houliangzhou/.ssh

dev-mini:~ devone$ exit

  1. 建立ssh互信

ssh-keygen -i -f Identity.pub >>authorized_keys

为了以后ssh访问方便 我在本机添加一个配置文件

(1) 修改 vi  /etc/ssh/sshd_config

chmod 644 authorized_keys

gong@hzsx:~$ cd .ssh/

  1. #    $OpenBSD: sshd_config,v 1.73 2005/12/06 22:38:28 reyk Exp $  
  2.   
  3. # This is the sshd server system-wide configuration file.  See  
  4. # sshd_config(5) for more information.  
  5.   
  6. # This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin  
  7.   
  8. # The strategy used for options in the default sshd_config shipped with  
  9. # OpenSSH is to specify options with their default value where  
  10. # possible, but leave them commented.  Uncommented options change a  
  11. # default value.  
  12.   
  13. #Port 22  
  14. #Protocol 2,1  
  15. Protocol 2  
  16. #AddressFamily any  
  17. #ListenAddress 0.0.0.0  
  18. #ListenAddress ::  
  19.   
  20. # HostKey for protocol version 1  
  21. #HostKey /etc/ssh/ssh_host_key  
  22. # HostKeys for protocol version 2  
  23. #HostKey /etc/ssh/ssh_host_rsa_key  
  24. #HostKey /etc/ssh/ssh_host_dsa_key  
  25.   
  26. # Lifetime and size of ephemeral version 1 server key  
  27. #KeyRegenerationInterval 1h  
  28. #ServerKeyBits 768  
  29.   
  30. # Logging  
  31. # obsoletes QuietMode and FascistLogging  
  32. #SyslogFacility AUTH  
  33. SyslogFacility AUTHPRIV  
  34. #LogLevel INFO  
  35.   
  36. # Authentication:  
  37.   
  38. #LoginGraceTime 2m  
  39. #PermitRootLogin yes  
  40. #PermitRootLogin yes  
  41. #StrictModes yes  
  42. #MaxAuthTries 6  
  43.   
  44. #RSAAuthentication yes  
  45. #PubkeyAuthentication yes  
  46. #PubkeyAuthentication no  
  47. #AuthorizedKeysFile    .ssh/authorized_keys  
  48.   
  49. # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts  
  50. #RhostsRSAAuthentication no  
  51. # similar for protocol version 2  
  52. #HostbasedAuthentication no  
  53. # Change to yes if you don’t trust ~/.ssh/known_hosts for  
  54. # RhostsRSAAuthentication and HostbasedAuthentication  
  55. #IgnoreUserKnownHosts no  
  56. # Don’t read the user’s ~/.rhosts and ~/.shosts files  
  57. #IgnoreRhosts yes  
  58.   
  59. # To disable tunneled clear text passwords, change to no here!  
  60. #PasswordAuthentication yes  
  61. #PermitEmptyPasswords no  
  62. #PasswordAuthentication yes  
  63. PasswordAuthentication no  
  64. AuthorizedKeysFile .ssh/authorized_keys  
  65.   
  66. # Change to no to disable s/key passwords  
  67. #ChallengeResponseAuthentication yes  
  68. ChallengeResponseAuthentication no  
  69.   
  70. # Kerberos options  
  71. #KerberosAuthentication no  
  72. #KerberosOrLocalPasswd yes  
  73. #KerberosTicketCleanup yes  
  74. #KerberosGetAFSToken no  
  75.   
  76. # GSSAPI options  
  77. #GSSAPIAuthentication no  
  78. GSSAPIAuthentication yes  
  79. #GSSAPICleanupCredentials yes  
  80. GSSAPICleanupCredentials yes  
  81.   
  82. # Set this to ‘yes’ to enable PAM authentication, account processing,   
  83. # and session processing. If this is enabled, PAM authentication will   
  84. # be allowed through the ChallengeResponseAuthentication mechanism.   
  85. # Depending on your PAM configuration, this may bypass the setting of   
  86. # PasswordAuthentication, PermitEmptyPasswords, and   
  87. # “PermitRootLogin without-password”. If you just want the PAM account and   
  88. # session checks to run without PAM authentication, then enable this but set   
  89. # ChallengeResponseAuthentication=no  
  90. #UsePAM no  
  91. UsePAM yes  
  92.   
  93. # Accept locale-related environment variables  
  94. AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES   
  95. AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT   
  96. AcceptEnv LC_IDENTIFICATION LC_ALL  
  97. #AllowTcpForwarding yes  
  98. #GatewayPorts no  
  99. #X11Forwarding no  
  100. X11Forwarding yes  
  101. #X11DisplayOffset 10  
  102. #X11UseLocalhost yes  
  103. #PrintMotd yes  
  104. #PrintLastLog yes  
  105. #TCPKeepAlive yes  
  106. #UseLogin no  
  107. #UsePrivilegeSeparation yes  
  108. #PermitUserEnvironment no  
  109. #Compression delayed  
  110. #ClientAliveInterval 0  
  111. #ClientAliveCountMax 3  
  112. #ShowPatchLevel no  
  113. #UseDNS yes  
  114. #PidFile /var/run/sshd.pid  
  115. #MaxStartups 10  
  116. #PermitTunnel no  
  117. #ChrootDirectory none  
  118.   
  119. # no default banner path  
  120. #Banner /some/path  
  121.   
  122. # override default of no subsystems  
  123. Subsystem    sftp    /usr/libexec/openssh/sftp-server  

五、修改sshd_config文件

gong@hzsx:~/.ssh$ vim config

(2)  生成公钥、私钥文件

vi /etc/ssh/sshd_config

添加以下内容

生成密钥到用户主目录下

 

Host dev-mini

ssh -keygen -t dsa -P ” -f ~/.ssh/id_dsa   
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  

#      $OpenBSD: sshd_config,v 1.73 2005/12/06 22:38:28 reyk Exp $

HostName dev-mini.local

将authorized_keys文件拷贝到两台slave主机

 

User devone

scp authorized_keys slave1:~/.ssh/   
scp authorized_keys slave2:~/.ssh/  

# This is the sshd server system-wideconfiguration file.  See

IdentityFile ~/.ssh/id_rsa

(3) 开启ssh-agent服务

# sshd_config(5) for more information.

以后ssh访问MAC OS,我就可以直接

ssh-agent bash –login -i

 

gong@hzsx:~/.ssh$ ssh dev-mini

ssh-add 添加密钥

# This sshd was compiled withPATH=/usr/local/bin:/bin:/usr/bin

但是还是让输入密码。

图片 4

 

我想应该是MAC OS上sshd_config的配置问题。不是ssh_config哦。

# The strategy used for options in thedefault sshd_config shipped with

输密码进去

# OpenSSH is to specify options with theirdefault value where

dev-mini:~ devone$ sudo vim /etc/sshd_config

# possible, but leave them commented.  Uncommented options change a

修改后如下:

# default value.

#    $OpenBSD: sshd_config,v 1.89 2013/02/06 00:20:42 dtucker Exp $

 

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

#Port 22

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

#Protocol 2,1

# 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 override the
# default value.

Protocol 2

# See sshd_config(5) for details on setting the Port and Listen values on Mac OS X
Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

#AddressFamily any

# The default requires explicit activation of protocol 1
Protocol 2

#ListenAddress 0.0.0.0

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

#ListenAddress ::

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

 

# Logging
# obsoletes QuietMode and FascistLogging
SyslogFacility AUTHPRIV
LogLevel INFO

# HostKey for protocol version 1

# Authentication:

#HostKey /etc/ssh/ssh_host_key

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

# HostKeys for protocol version 2

RSAAuthentication yes
PubkeyAuthentication yes

#HostKey /etc/ssh/ssh_host_rsa_key

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile    .ssh/authorized_keys

#HostKey /etc/ssh/ssh_host_dsa_key

#AuthorizedPrincipalsFile none

 

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

# Lifetime and size of ephemeral version 1server key

# 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

#KeyRegenerationInterval 1h

# To disable tunneled clear text passwords both PasswordAuthentication and
# ChallengeResponseAuthentication must be set to “no”.
PasswordAuthentication yes
PermitEmptyPasswords no

#ServerKeyBits 768

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

 

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

# Logging

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no

# obsoletes QuietMode and FascistLogging

# 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 and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of “PermitRootLogin without-password”.
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to ‘no’.
# Also, PAM will deny null passwords by default.  If you need to allow
# null passwords, add the ”    nullok” option to the end of the
# securityserver.so line in /etc/pam.d/sshd.
UsePAM yes

#SyslogFacility AUTH

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#XauthLocation xauth # Default is to search $PATH (set by launchd(8)).  It is recommended that a full path be provided.
X11DisplayOffset 10
#X11UseLocalhost yes
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no
UsePrivilegeSeparation yes        # Default for new installations.
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

SyslogFacility AUTHPRIV

# pass locale information
AcceptEnv LANG LC_*

#LogLevel INFO

# no default banner path
#Banner none

 

# override default of no subsystems
Subsystem    sftp    /usr/libexec/sftp-server

# Authentication:

# Example of overriding settings on a per-user basis
#Match User anoncvs
#    X11Forwarding no
#    AllowTcpForwarding no
#    ForceCommand cvs server

 

尤其注意这几个路径

#LoginGraceTime 2m

HostKey /etc/ssh_host_rsa_key

#PermitRootLogin no

HostKey /etc/ssh_host_dsa_key

#StrictModes yes

HostKey /etc/ssh_host_ecdsa_key

#MaxAuthTries 6

中间不是 /etc/ssh/ssh_host_rsa_key

 

dev-mini:~ devone$ exit

#RSAAuthentication yes

gong@hzsx:~$ ssh dev-mini

PubkeyAuthentication yes  #打开允许采用密钥方式远程登录

dev-mini:~ devone$

AuthorizedKeysFile      .ssh/authorized_keys  #打开

终于搞定了。

 

# For this to work you will also need hostkeys 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 readthe user’s ~/.rhosts and ~/.shosts files

#IgnoreRhosts yes

 

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

#PasswordAuthentication yes

#PermitEmptyPasswords no

PasswordAuthentication no 
#关闭密码验证

AllowUsers root shaobingliusong houliangzhou lizhi zws  #设置允许密码登录的账户

 

# Change to no to disable s/key passwords

#ChallengeResponseAuthentication yes

六、修改保存之后重启sshd服务

 ~]# servicesshd restart  #重启sshd服务

Stopping sshd: [  OK  ]

Starting sshd: [  OK  ]

图片 5

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门新葡亰官网app 版权所有