刚接触mac不久,在使用中自己遇到的一些小问题,现在一一记录下来,供其他人参考和自己学习。
ssh命令:ssh (-P端口)用户名@远程服务器IP。
要实现ssh登录服务器,首先就要保证mac和服务器的ssh服务是开启的,它们的相关的命令如下:
linux:service sshd start (start:开启 stop:关闭 restart:重启 status:查看服务状态;知道的忽略)
Mac :1.编辑/etc/sshd_config文件,注释掉
#ForceCommand /usr/local/bin/ssh_session
2.启动sshd服务:
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
3.停止sshd服务:
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
4查看是否启动:
sudo launchctl list | grep ssh
其次,就是要生成密钥:
在终端下执行命令:
ssh-keygen -t rsa
一路回车,各种提示按默认不要改,等待执行完毕。然后执行:
ls ~/.ssh
#可以看到两个密钥文件:id_rsa(私钥) id_rsa.pub(公钥)
最后,把密钥放到服务器上:
放置公钥到Linux服务器。使用scp命令:
scp ~/.ssh/id_rsa.pub 用户名@服务器IP:/home/cssor/.ssh/
然后把id_rsa.pub的内容加入到服务器端的默认验证文件authorized_keys,执行:
#先登录到远程服务器
cd ~/.ssh
cat -n /home/cssor/.ssh/id_rsa.pub >> authorized_keys #将公钥内容加入到authorized_keys文件,没有则新建一个就行
注意事项:
公钥要放在登录服务器所用的账号的家目录下,比如你用 abc登录远程服务器,就要把公钥 放到 /home/abc/.ssh/下, authorized_keys文件也是在这个目录下。
这里我遇到的问题:
1.mac端ssh服务不确定是否开启。
2.远程服务器在登录后,用户名自动转换到了root帐号下了,这种情况要特殊注意,这个时候,公钥就不能放到自己的家目录下了,要把authorized_keys 放到远程服务器的root帐号目录下/root/.ssh/;然后,在客户端登录的时候要用root帐号,命令如下:ssh [email protected]服务器IP。