1、查卡服务是否启用,如果启用直接跳至第5步
ps -ef | grep ssh
2、如果没有启用 则要安装
yum install openssh-server
或者
yum install ssh
3、安装完之后开启
service sshd start 开启ssh服务
service sshd stop 停止ssh服务
service sshd restart 重启ssh服务
或者使用使用带有路径的脚本:
/etc/init.d/sshd start
/etc/init.d/sshd stop
/etc/init.d/restart
4,设置sshd为系统自动启动
chkconfig sshd on
5、使用ssh命令远程登录Linux主机
格式:ssh [-l login_name] [-p port] [user@]hostname
,然后输入密码即可实现登录
ssh 192.168.0.1
ssh -l root 192.168.0.1
ssh root@192.168.0.1
ssh -p 22 192.168.0.1
ssh -l root -p 22 192.168.0.1
ssh -p 22 root@192.168.0.1
6、修改配置文件/etc/ssh/sshd_config
,可以改ssh登录端口或禁止root登录等
修改端口号
vi /etc/ssh/sshd_config
找到#Port 22
,去掉注释,修改成一个其它端口号,比如:Port 33333
禁用root登录,依据需求设置
vi /etc/ssh/sshd_config
找到#PermitRootLogin yes
,去掉注释,修改为:PermitRootLogin no
修改保存后,需重启sshd服务,命令:service sshd restart
7、修改/etc/ssh/sshd_config
,实现ssh免密登录
vi /etc/ssh/sshd_config
找到
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
修改为
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
修改保存后,需重启sshd服务,命令:service sshd restart
8、实现SSH无密码登录,A机器192.168.194.10,B机器192.168.194.30
8.1、
在A、B机器新增hadoop用户,以A机器为例,命令如下:
[root@192.168.194.10 ~]# adduser hadoop
[root@192.168.194.10 ~]#
为新创建的用户设置密码,命令如下:
[root@192.168.194.10 ~]# passwd hadoop
更改用户 hadoop 的密码 。
新的 密码:
无效的密码: 过于简单化/系统化
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@192.168.194.10 ~]#
注意:如果新增用户时使用-p参数同步添加密码,然后直接使用输入的密码是无法登录的,原因如下:
用户的密码都是以密文的形式保存在/etc/shadow
文件中的
登录的时候,输入明文密码,linux会将明文密码转换成密文密码,去/etc/shadow
文件对比,能比对上就可以登录
新增用户时,-p
参数后面设置的密码值会以输入形式直接保存进/etc/shadow
文件中,比如你输入123456,那么/etc/shadow
文件中保存的也是123456,
那么登录的时候,输入123456,linux会把它转换为密文,比如:$6$oLAqEGZz$qOy6EtgZnrFY3l7GcpIrVXjrhbeh/16LdDo0UoDxt5TztM8r2V7TorlkMTAJVhWPVN3Tu.J8xIfR3hop/uBlF/
,但是/etc/shadow
文件中保存确实123456,所以你永远也不会登录成功
解决的办法就是,先用adduser或者useradd命令添加用户,不带-p参数,然后用passwd命令更新设置密码
同时注意:
多台服务器之间用户想要实现双向无密登录,使用的用户需保持一致,比如都是root或者都是hadoop或者任意自定义的其它名,否则出现因权限问题无法实现免密登录
8.2、
切换至需要无密登录的用户,命令:su - hadoop
在A、B机器上生成公钥和私钥,命令及结果如下(过程一路回车):
[hadoop@localhost ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
15:63:b8:cb:d1:7d:4b:28:15:40:66:95:26:b1:64:d0 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| .=%+oo |
| .*E++ |
| oo= . |
| o.o o o |
| .So . o . |
| o . |
| |
| |
| |
+-----------------+
在这个`/home/hadoop/.ssh/`目录下,生产了两个公钥和私钥文件:id_rsa和id_rsa.pub
[hadoop@localhost ~]$ cd /home/hadoop/.ssh/ --或者 cd ~/.ssh/
[hadoop@localhost .ssh]$ ll
总用量 8
-rw-------. 1 hadoop hadoop 1675 6月 24 22:25 id_rsa
-rw-r--r--. 1 hadoop hadoop 410 6月 24 22:25 id_rsa.pub
8.2、在A机器上导入公钥到认证文件(与公钥文件所属同目录)
[hadoop@localhost .ssh]$ cat id_rsa.pub >> authorized_keys
[hadoop@localhost .ssh]$ ll
总用量 12
-rw-rw-r--. 1 hadoop hadoop 410 6月 24 22:33 authorized_keys
-rw-------. 1 hadoop hadoop 1675 6月 24 22:25 id_rsa
-rw-r--r--. 1 hadoop hadoop 410 6月 24 22:25 id_rsa.pub
8.3、将A机器(此时作为客户端)的认证文件上传到远程B(此时作为服务器)机器,实现A机器远程访问B机器,可以无密登录到B机器,此时还是需要输入一次密码的:
[hadoop@192.168.194.10 .ssh]$ scp authorized_keys hadoop@192.168.194.30:/home/user/.ssh/authorized_keys
The authenticity of host '192.168.194.30 (192.168.194.30)' can't be established.
RSA key fingerprint is bd:97:17:12:79:db:b7:78:66:43:5a:d8:bc:29:b3:86.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.194.30' (RSA) to the list of known hosts.
[email protected]'s password:
authorized_keys
8.4、在B机器(远程机器)上给复制过来的认证文件赋予权限
[hadoop@localhost .ssh]$ chmod 644 authorized_keys
8.5、测试,在A机器上远程登录B机器:
[hadoop@192.168.194.10 .ssh]$ ssh hadoop@192.168.194.30
Last login: Fri Jun 30 17:36:43 2017 from 192.168.194.10
[user@192.168.194.30 ~]$
8.6、退出远程机器B,回到客户端机器A,命令:
[hadoop@192.168.194.30 ~]$ exit
logout
Connection to master closed.
[hadoop@192.168.194.10 .ssh]$
8.7、要实现从B机器远程登录到A机器,重复8.2之后的步骤,所有在A机器操作的步骤换到B机器