linux无密码连接远程服务器并简化连接

实现过程

1.检查本地是否已创建公私钥对

ls -al ~/.ssh

 如果已经创建过,则会有id_rsa.pub 和id_rsa两个文件如下(只要有这两个文件就行):

2.如果公私钥对本地没有,则需要自行创建

ssh-keygen -t rsa -C "[email protected]"

 这里使用rsa加密方式,注释为我的个人邮箱,大家可以根据自己情况来设置

3.将本地id_rsa.pub文件追加到远程~/.ssh/authorized_keys文件中(此过程中遇到的所有远程文件或文件夹如果没有则手动创建即可)

首先将本地id_rsa.pub文件拷贝到远程任意目录下:

scp ~/.ssh/id_rsa.pub [email protected]:~/

 再登陆到远程服务器并将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 [email protected]并给予可执行权限,随便叫什么名

vim /ssh-r.sh
chmod 777 /ssh-r.sh

 然后直接执行此文件就可以连接远程了:

第二种方法

修改~/.ssh/config配置文件(如果没有此文件自行创建即可)

vim ~/.ssh/config

 添加如下内容:

Host为主机名,HostName为远程主机ip,User为远程主机用户名

接下来就可以使用"ssh 主机名"来登陆了:

猜你喜欢

转载自cobain-li.iteye.com/blog/2320296