小工具:ssh-copy-id

简介:
服务器时常需要配置无密码的登录方式,最一般的设置方式如下:

# ssh-keygen
# cat ~/.ssh/id_rsa.pub | ssh user@server "cat - >> ~/.ssh/authorized_keys"

其实这方法已经很简单了,不过我总记不清如何正确拼写authorized_keys这个文件名。

还好Linux系统里缺省都包含一个名为ssh-copy-id的工具:

# type ssh-copy-id
ssh-copy-id is /usr/bin/ssh-copy-id

你用cat或者more命令看一下就知道ssh-copy-id本身其实就是一个shell脚本,用法很简单:

# ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

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

# vi ~/.ssh/config

加上内容:

Host server
Hostname ip
Port 10022

你也可以单独只加入Port一行配置,那样就是一个全局配置,保存后再运行ssh-copy-id命令就不会报错了。

补充:经网友提示,如果端口不是22,不修改config文件,按如下方式也可以:

ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 10022 user@server" 













本文转自leonardos51CTO博客,原文链接:http://blog.51cto.com/leomars/1206736 ,如需转载请自行联系原作者



相关文章
|
网络安全 数据安全/隐私保护
|
网络安全 数据安全/隐私保护
|
网络安全 数据安全/隐私保护
利用ssh-copy-id无需密码登录远程服务器
  本地机器生成公钥和私钥 ssh-keygen -t rsa   一路回车,最后会在~/.ssh目录下生成id_rsa和id_rsa.pub这两个文件。   与远程服务器建立信任机制 ssh-copy-id -i /root/.ssh/id_rsa.pub -p 远程服务器ssh端口 root@远程服务器IP   输入密码,成功连接后。
1028 0
ssh-copy-id password
ssh-copy-id 'username@ip/hostname';
788 0
|
6月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
420 146
|
9月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
3165 0
|
安全 Linux Shell
Linux中SSH命令介绍
Linux中SSH命令介绍
815 2
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
522 10