问题:
用 ssh 命令远程连接 Mac 电脑时候出现 ssh: connect to host localhost port 22: Connection refused 拒绝连接的错误,该如何破?
解决方案:
1、首先看一下本地是否开启了 sshd 服务:
~ ps auwx | grep sshd
如下:发现 sshd 服务已经开启了,如果没开启请自行开启 sshd 服务再看情况;
thomas 880 0.0 0.0 4345332 1620 ?? S 3:05下午 0:00.03 sshd: thomas@ttys001
root 808 0.0 0.1 4363328 9120 ?? Ss 3:05下午 0:00.08 sshd: thomas [priv]
thoams 6555 0.0 0.0 4268300 696 s001 S+ 3:30下午 0:00.00 grep sshd
2、Mac 系统需打开远程连接: 点开 系统偏好设置 -> 共享 -> 远程登录 看看这项服务是否打开,如果没打开,需要打开之后才能连接。(注意这里提示了登陆的用户名和ip:username@ip,用户可在其他linux 和macos登陆该主机:ssh username@ip
3、使用 ssh-keygen 工具去生成dsa&rsa key(ssh 密钥),具体看这里:
sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key //DSA = Digital Signature Algorithm. based on discrete logarithms computation.
sudo chmod 600 /etc/ssh/ssh_host_dsa_key //修改权限
sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key //RSA算法好在网络容易实现密钥管理,便进行数字签名,算法复杂,加/解速度慢,采用非对称加密(三位数学家 Rivest、Shamir 和 Adleman 设计了一种算法)
sudo chmod 600 /etc/ssh/ssh_host_rsa_key; //修改权限
4、重新启动终端:
ssh localhost
5、使用scp进行文件在linux主机/服务器(或者mac主机)和mac主机传输了
scp user@ip:地之一 地址二