linux无密码连接远程服务器并简化连接 博客分类: Linux linuxsshredHatwebubuntu
程序员文章站
2024-03-02 11:25:46
...
实现过程
1.检查本地是否已创建公私钥对
ls -al ~/.ssh
如果已经创建过,则会有id_rsa.pub 和id_rsa两个文件如下(只要有这两个文件就行):
2.如果公私钥对本地没有,则需要自行创建
ssh-keygen -t rsa -C "likek@outlook.com"
这里使用rsa加密方式,注释为我的个人邮箱,大家可以根据自己情况来设置
3.将本地id_rsa.pub文件追加到远程~/.ssh/authorized_keys文件中(此过程中遇到的所有远程文件或文件夹如果没有则手动创建即可)
首先将本地id_rsa.pub文件拷贝到远程任意目录下:
scp ~/.ssh/id_rsa.pub root@115.28.62.182:~/
再登陆到远程服务器并将copy过来的id_rsa.pub的文件内容追加到authorized_keys文件中:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
接下来可以在远程服务器删除刚才copy过来的id_rsa.pub;
确保远程端.ssh文件夹权限为700,authorized_keys权限为600:
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
4.接下来就可以无密码登陆远程服务器了:
但是还有个问题就是,每次登陆的时候都要输入用户和ip地址很麻烦,那接下来我们解决这个问题
有两种方法:
第一种方法
在本地创建一个文件写入命令ssh root@115.28.62.182并给予可执行权限,随便叫什么名
vim /ssh-r.sh
chmod 777 /ssh-r.sh
然后直接执行此文件就可以连接远程了:
第二种方法
修改~/.ssh/config配置文件(如果没有此文件自行创建即可)
vim ~/.ssh/config
添加如下内容:
Host为主机名,HostName为远程主机ip,User为远程主机用户名
接下来就可以使用"ssh 主机名"来登陆了: