开放你的linux ssh服务
像Ubuntu,deepin的桌面版系统默认是不开启ssh 服务的,所以我们需要下载一个包来开启这个功能
sudo apt-get install openssh-server
然后我们再使用以下命令
ps -e | grep ssh
如果输出结果中有sshd就说明openssh-server已经成功安装
启动你的ssh-server服务
sudo /etc/init.d/ssh start
如果终端输出
[ ok ] Starting ssh (via systemctl): ssh.service
则说明ssh服务器启动成功
mac ssh 登录linux
sudo ssh username@hostname
如果不想每次都那么烦,输出那么多东西,可以在~/.ssh/config
中修改 ssh登录配置
Host mylinux
HostName 192.168.1.107
Port 22
关闭linux的ssh-server服务
sudo /etc/init.d/ssh stop
给ssh-server操作配置别名
上面的命令实在太长了,时间久了也容易忘记,我们可以在bash或者是zsh中配置alias,方便服务的开启和停止
我在mac上用的是zsh,所以是修改.zshrc,如果是用的bash(默认使用),则是.bashrc
vim ~/.zshrc ##使用vim打开.zhs配置
alias openssh="sudo /etc/init.d/ssh start" ##设置别名
alias stopssh="sudo /etc/init.d/ssh stop"
alias relaod="sudo /etc/init.d/ssh relaod"
source ~/.zshrc #使得修改之后的配置立即生效
然后就可以用你的mac登录到deepin或者是Ubuntu中了
sudo ssh mylinux
#然后输入密码linux主机密码,即可登录
远程进阶 - 免密登录
如果就单纯的 ssh username@hostname
这样的登录方式,要每次都输入密码,那就太麻烦了,我们可以使用ssh 公钥验证免密登录,接下来一起来嗨吧。
- 使用ssh命令在mac上生成私钥和公钥
ssh keygen -t rsa -C 'login my linux'
## -t 指定密钥类型,默认是ras,可省略
## -C 设置注释文字,如一些描述
一路回车,选择默认项,最后会生成一对密钥,分别是公钥和私钥,一般在~/.ssh目录下。
- 使用scp命令将公钥复制到你的linux远程主机上
scp ~/.ssh/id_rsa.pub simple@192.168.1.103:~/.ssh
# scp (本地文件绝对路径)[此处有一个空格](目标服务器名称@目标服务器ip):(目标服务器接收文本的存放路径)
#假设我的linux主机名叫simple,主机ip是192.168.1.103
#注意空格
##scp 命令是终端传输文件一个命令,以后会花时间来总结这个知识
- 将公钥重命名或者追加到authorized_keys文件
cd ~/.ssh
##若存在authorized_keys,则将公钥追加到其中
cat id_rsa.pub >> authorized_keys
##若不存在,直接重命名
mv id_ras.pub authorized_keys
- 修改mac的ssh配置
echo "IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/config
##我们在上面配置好了登录目标,但是要免密登录还需要再设置一个IdentityFile,设置为我们mac上的密钥路径即可
- 免密登录
sudo ssh mylinux
网友评论