首先,要进行远程连接,必须遵循四要素:

1 IP地址, 2 用户名, 3 密码, 4 SSH(SSH2)协议

确保这四点没有错误后,再找别的原因。

米扑使用SecureCRT登陆虚拟机上的Linux,点击连接后,提示“Password authentication failed

mac-use-securecrt-landing-prompting-password-authentication-failed-cause-01

输入如下: 
这里写图片描述, 
这里写图片描述

1 首先我能确定用户名,密码是没有错的,SSH2协议也是没有错的,问题出在主机名上。后面我用IP地址,可以连接上虚拟机上的linux,而主机名却连接不了。后面才明白,映射配置的错误了。

映射配置:

1 linux上hosts文件 加上192.168.58.131 linux-bigdata.com 
2 windows上hosts文件 加上192.168.58.131 linux-bigdata.com

我连接错误的原因是 两个hosts文件主机名不一样(低级错误)。映射正确后,不需要其他配置,就可以用主机名连接上了。 网上提供的其他方法(其实并不需要)。 

方法一:

  1. vim 服务器端的 vim /etc/ssh/sshd_config

  2. PasswordAuthentication 设成yes

  3. 重启ssh服务

方法二:

1. vim 服务器端的 vim /etc/ssh/sshd_config

2. 找到 #PermitRootLogin no 将其修改为 PermitRootLogin yes

方法三:

1. 查看sshd是否正确在运行

netstat -anl | grep sshd   ps auwx | grep sshd

2. 如果没有运行,重启服务

service sshd restart 或  sudo /usr/sbin/sshd -f /etc/ssh/sshd_config

方法四:

1. 客户端使用 ssh -v root@192.168.0.120 查看登陆信息

2. 提示“Permission denied, please try again.”

3. 查看防火墙

#/etc/init.d/iptables status

如果22端口被限制则无法登陆。

放开端口22

#/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT

#/etc/rc.d/init.d/iptables save

 

 

 

Mac 启动 sshd 服务

scp (Secure copy) 命令相信 同学们都知道。今天我想从我的一台同局域网内的Linux 机器上拷贝几个文件到我的的机上来。突然想到,mac 毕竟不是 linux, sshd 服务默认没有启动的可能性很大。

到底有没有 sshd 服务呢?看看呗?于是:

➜  ~  ps auwx | grep sshd
yin 1921  0.0  0.0  2432772 640 s000  S+  6:53下午   0:00.00 grep sshd

果然没有启动 sshd 服务。那怎么办呢?

在 linux 上启动 sshd 服务的方式 很简单。

-> ~ sudo /etc/init.d/sshd start

但是 mac 上没有 init.d 目录啊。

那这样试试。直接使用二进制可执行程序 + 配置文件启动。

-> ~ sudo /usr/bin/sshd - f /etc/sshd_config

这样没有问题,可以正常使用,但是 不能每次开机都执行 一次 命令吧。

于是上网搜罗了一番。原来需要使用 苹果的自家方案.

 

linux(Ubuntu)启动服务

sudo service sshd start
chkconfig --level 35

 

CentOS 7

sudo systemctl sshd.service start

 

Mac OS

sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

.plist 文件是 objective-c 编程架构中的 配置文件。
说明 launchctl 服务管理器是oc写的,怎么又废话起来了

停止

sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist

如何查看进程是否启动

sudo launchctl list | grep sshd
-   0   com.openssh.sshd

OK 启动正常

 

$ sudo /usr/sbin/sshd

服务就启动了

不能每次都这么运行一下先啊。放在 ~/.bashrc 似乎可以,不过这个得需要管理员权限

得sudo,每次输入密码很烦人。干脆放到 /etc/rc.common,

#####

/usr/sbin/sshd

网上有人说apple不推荐这么干。但是我又不知道怎么让他自动启动。先就这么放着吧。找到好方法再改。

 

 

 

 

参考推荐

http://blog.csdn.net/dudefu011/article/details/52097909

https://segmentfault.com/a/1190000001732729