主要适用于macOS
使用SSH密钥远程连接Linux
需要下载OpenSSH,mac自带无需下载,Linux需要下载
最后的效果:
当在Terminal中输入
ssh user
就可以直接连接远程服务器,无须密码。
实现无ip地址连接
最原始的登陆方式为
ssh <用户名>@<ip地址>
本人为例
ssh orlando@192.135.23.6
然后提示输入密码(没有密码提示),如果是首次连接,将会询问你是否信任服务器,在terminal输入yes回车即可继续输入密码
将要实现的是简化输入,简化后为
ssh <用户名>
本人为例
ssh orlando
当然还是有输入密码的过程
实现
客户机(mac)设置ip别名
vim /etc/hosts
在文件末尾添加
<ip> <name>
本人为例
192.135.23.6 orlando
这里完成的是在本机中使用orlando代替192.135.23.6这个ip地址
到现在为止你可以使用
ssh <user>@<name>
这组命令进行远程连接了
客户机设置默认user
进入~/.ssh/目录下
cd ~/.ssh
如果没有可以直接创建一个新的目录
在当前目录下config文件中添加内容,若文件不存在则创建
touch config
vim config
打开进入config文件中后写入内容
Host <name>
User <user>
以本人为例
Host orlando
User orlando
因为我的name与user相同
测试
ssh <name>
以本人为例
ssh orlando
输入密码后即可完成登陆
图形化快捷连接教程
使用Terminal实现快捷连接(不使用命令行)
首先打开Terminal
在Shell选项中选择【新建远程连接...】
选择安全Shell(ssh)
点击靠右侧加号(+)
输入你目标服务器的ip地址
![](https://i-blog.csdnimg.cn/blog_migrate/31ac349b47423736b4933a14c2b13857.jpeg)
单击“好”
输入用户名称即可完成配置
![](https://i-blog.csdnimg.cn/blog_migrate/17517492e14b69f70fbdbb39fcd9a58a.jpeg)
单击连接就可以了
但想要再次连接该服务器时,可以选择打开Shell,再次点击【新建远程连接...】,里面就已经存在上次的连接信息,可以直接连接
实现无密码连接
这里需要使用到ssh密钥连接,简单理解为,在服务器设置好公钥,在用户机设置好对应的私钥,在进行连接的时候就可以不使用密码而直接连接,安全快捷。
使用ssh-keygen生成密钥
在客户机输入
ssh-keygen [-f name]
[]中的内容为可选,<>中的内容为必填,输入后将name替换为其他的密钥名称,造成的结果就是,原本生成的密钥文件名为id_rsa(私钥),id_rsa.pub(公钥)改变为name(私钥),name.pub(公钥)
将生成的公钥文件传到服务器,并追加到~/.ssh/authorized_keys文件中
到这里可能会有些问题,由于本人不会修改权限,.ssh文件夹的内容无法操作,所以我选择了直接删除.ssh文件夹后创建新的.ssh文件夹,因为这个文件夹是我创建的,所以我有权直接操作
服务器创建.ssh文件夹
mkdir -p ~/.ssh
创建authorized_keys文件
vim authorized_keys
新建窗口查看,查看公钥
cat ~/.ssh/id_rsa.pub
可能会不相同,如果在前文使用了-f时需要将id_rsa替换为对应的文件名
复制公钥,粘贴到authorized_keys中并保存
到此,可以进行测试了
客户机Terminal输入
ssh <name>
直接连接成功即为成功