SSH密钥制作

Ubuntu的话需要安装ssh openssl-server openssl-client
方法:
sudo apt-get install ssh openssl-server openssl-client
多端ssh密钥
其实多端和两台机器做ssh私钥是一样的,只不过追加了自动公钥
A:192.168.10.5
B:192.168.10.164
C:192.168.10.244
我希望A访问B时无需输入密码,C访问B时也不需要密码
在A上操作(如果A上或C上已经存在id_rsa.pub那么你可以直接执行“第一种方法:”,“第二种方法:”)
[root@kinggoo .ssh]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
b1:41:4a:43:46:26:a7:b4:5b:e1:3d:b7:7c:9e:29:7b root@kinggoo.com
[root@kinggoo .ssh]# ls
id_rsa  id_rsa.pub  known_hosts
现在将id_rsa.pub拷贝到B的家目录下.ssh下。然后通过一下两种方式去生成自动生成key
第一种方法:
root@ubuntu:~/.ssh# cat id_rsa.pub_10.5 >> authorized_keys
第二种方法:这种他会自动追加到authorized_keys内
[root@test5: ~/.ssh]#ssh-copy-id -i id_rsa.pub root@192.168.10.164
10
root@192.168.10.164’s password:
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf-8)
Now try logging into the machine, with "ssh ‘root@192.168.10.164’", and check in:
  .ssh/authorized_keys
to make sure we haven’t added extra keys that you weren’t expecting.
然后如果你想要C也可以方法那么请你返回到(在A上操作)处
然后可以在B上操作:
chmod 700 /home/root/.ssh
chmod 644 /home/root/authorized_keys

缺省它仅仅支持SSH运行在22端口的情况,不过实际上出于安全的需要,我们往往都会更改服务器的SSH端口,比如说改成10022端口,这时候你运行ssh-copy-id就会报错了,直接修改ssh-copy-id脚本当然可以修正这个问题,但是那样显得太生硬了,实际上还有更好的办法:

你也可以单独只加入Port一行配置,那样就是一个全局配置,保存后再运行ssh-copy-id命令就不会报错了。
补充:经网友提示,如果端口不是22,不修改config文件,按如下方式也可以:
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 10022 user@server"

好了!你可以试试

- THE END -
版权声明:
转载原创文章请注明,文章出处:http://kinggoo.com
原文地址:http://kinggoo.com/linux-ssh-nopwvisit.htm
发表评论?

1 条评论。

  1. Linux系统关于ssh远程登陆安全的设置 | KingGoo技术博客 - pingback on 2014 年 04 月 02 日 在 10:51

发表评论


Trackbacks and Pingbacks: