@@ -124,7 +124,8 @@ setup_known_host/3,
124124get_addr_str /0 ,
125125file_base_name /2 ,
126126kex_strict_negotiated /2 ,
127- event_logged /3
127+ event_logged /3 ,
128+ remove_comment /1
128129 ]).
129130% % logger callbacks and related helpers
130131-export ([log /2 ,
@@ -1218,10 +1219,12 @@ setup_all_user_keys(DataDir, UserDir) ->
12181219setup_user_key (SshAlg , DataDir , UserDir ) ->
12191220 file :make_dir (UserDir ),
12201221 % % Copy private user key to user's dir
1221- {ok ,_ } = file :copy (filename :join (DataDir , file_base_name (user_src ,SshAlg )),
1222- filename :join (UserDir , file_base_name (user ,SshAlg ))),
1222+ {ok , Priv0 } = file :read_file (filename :join (DataDir , file_base_name (user_src ,SshAlg ))),
1223+ Priv = remove_comment (Priv0 ),
1224+ ok = file :write_file (filename :join (UserDir , file_base_name (user ,SshAlg )), Priv ),
12231225 % % Setup authorized_keys in user's dir
1224- {ok ,Pub } = file :read_file (filename :join (DataDir , file_base_name (user_src ,SshAlg )++ " .pub" )),
1226+ {ok ,Pub0 } = file :read_file (filename :join (DataDir , file_base_name (user_src ,SshAlg )++ " .pub" )),
1227+ Pub = remove_comment (Pub0 ),
12251228 ok = file :write_file (filename :join (UserDir , " authorized_keys" ),
12261229 io_lib :format (" ~n~s~n " ,[Pub ]),
12271230 [append ]),
@@ -1239,19 +1242,25 @@ setup_host_key_create_dir(SshAlg, DataDir, BaseDir) ->
12391242setup_host_key (SshAlg , DataDir , SysDir ) ->
12401243 mk_dir_path (SysDir ),
12411244 % % Copy private host key to system's dir
1242- {ok ,_ } = file :copy (filename :join (DataDir , file_base_name (system_src ,SshAlg )),
1243- filename :join (SysDir , file_base_name (system ,SshAlg ))),
1245+ {ok ,Priv0 } = file :read_file (filename :join (DataDir , file_base_name (system_src ,SshAlg ))),
1246+ Priv = remove_comment (Priv0 ),
1247+ ok = file :write_file (filename :join (SysDir , file_base_name (system ,SshAlg )), Priv ),
12441248 ? ct_log_show_file ( filename :join (SysDir , file_base_name (system ,SshAlg )) ),
12451249 ok .
12461250
12471251setup_known_host (SshAlg , DataDir , UserDir ) ->
1248- {ok ,Pub } = file :read_file (filename :join (DataDir , file_base_name (system_src ,SshAlg )++ " .pub" )),
1252+ {ok ,Pub0 } = file :read_file (filename :join (DataDir , file_base_name (system_src ,SshAlg )++ " .pub" )),
1253+ Pub = remove_comment (Pub0 ),
12491254 S = lists :join (" " , lists :reverse (tl (lists :reverse (string :tokens (binary_to_list (Pub ), " " ))))),
12501255 ok = file :write_file (filename :join (UserDir , " known_hosts" ),
12511256 io_lib :format (" ~p~n " ,[S ])),
12521257 ? ct_log_show_file ( filename :join (UserDir , " known_hosts" ) ),
12531258 ok .
12541259
1260+ remove_comment (Bin ) ->
1261+ Lines = string :split (Bin , " \n " , all ),
1262+ FilteredLines = [L || L <- Lines , string :prefix (L , " #" ) == nomatch ],
1263+ list_to_binary (lists :join (" \n " , FilteredLines )).
12551264
12561265get_addr_str () ->
12571266 {ok , Hostname } = inet :gethostname (),
0 commit comments