mac上使用ssh登录linux,不想装各种工具,又很想偷懒(不想输密码)。采用密钥的形式是个思路,找了很多例子,但实现中出了不少小问题。最终通了,实际步骤很简单,先留个底,回头再研究其原理。
1. 切换到 .ssh目录下
cd ~/.ssh
2. 生成密钥
三次回车,不需要输入密码
ssh-keygen -t rsa -C "yourname@email"
ssh-keygen -t rsa
Enter file in which to save the key (/Users/leecho/.ssh/id_rsa):
/Users/leecho/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/leecho/.ssh/id_rsa.
Your public key has been saved in /Users/leecho/.ssh/id_rsa.pub.
#查看是否已经生成,会生成 id_rsa id_rsa.pub两个文件
ls
注意:这一步回车三次(一定不要输入密码,输入了以后还要输入),原理不明,输入内容可能就无法免密了
3. 拷贝文件到远程服务器
scp ~/.ssh/id_rsa.pub user@ip:~/.ssh
4. ssh切的到远程服务器
ssh user@ip
#给权限
chmod 700 .ssh
#将公钥内容写入
cat id_rsa.pub >> authorized_keys
#给权限
chmod 600 authorized_keys
5.登出远程服务器,可以免密登录了
#不用输入密码了哦
ssh user@ip
A. 多台Linux,重复步骤3/4即可
B. 如果需要
如果不想每次输入用户名及IP,可使用别名登录,配置方法如下:
vim ~/.ssh/config
Host [sshName]
HostName [ip]
Port 22
User [userName]
网友评论